You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Bill Holloway <bi...@gmail.com> on 2006/11/03 20:09:20 UTC

Suppressing id attribute in @Any

I have an @Any tag inside a @For loop.  I notice that the @Any tags
that are emitted have an automatically-generated id attribute.  Those
are blowing my CSS implementations -- unless I can ignore them in css
somehow.

Is there a way to suppress the emission of those id attributes to the browser?

Thanks!
Bill

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Suppressing id attribute in @Any

Posted by Bill Holloway <bi...@gmail.com>.
Yep, .className {} worked.  My tag is

<a jwcid="@DirectLink" listener="listener:doTagClick"
parameters="ognl:currTagMeta.tag.id"
class="ognl:currTagMeta.cssClass">

It's a tag cloud.

Bill

On 11/3/06, Jesse Kuhnert <jk...@gmail.com> wrote:
> I don't know.....I would say that I use # css attributes about 2% of the
> time.
>
> Instead of #(generated id) .className why don't you just define it as :
>
> .className {}
>
> or
>
> *.className {}
>
> or
>
> span.className {}
>
> or
>
> .someOtherContainer .className {}
>
> ?
>
> On 11/3/06, Bill Holloway <bi...@gmail.com> wrote:
> >
> > " I am trying to prevent exactly what you want as much as I possibly
> > can. :)"  Grrrrrr. :)
> >
> > Well, I think the problem is that class="" isn't enough of a handle on
> > it.  The CSS designation would have to be
> >
> > <style>
> > #(your-generated-id) .className
> > {
> >   border: ...;
> > }
> > </style>
> >
> > but maybe I'm wrong.  I'm getting around it by generated the attribute
> > style="...".  That's the inline override.
> >
> > Bill
> >
> > On 11/3/06, Jesse Kuhnert <jk...@gmail.com> wrote:
> > > There's no way to prevent it - unless you subclass @Any.
> > >
> > > I can provide some other thoughts though.
> > >
> > > -) Technically speaking, every element in the DOM that outputs an ID
> > > attribute has to be unique to be "compliant" as far as having javascript
> > > operations work consistently in the browser.
> > >
> > > -) If you are using CSS # style attributes to apply rules to more than
> > one
> > > element in a document with the same ID that probably isn't exactly the
> > best
> > > way to do it anyways. Use .<classname> CSS rules for these kinds of
> > things
> > > instead.
> > >
> > > You're going to be fighting an uphill battle trying to do what you want
> > as I
> > > am trying to prevent exactly what you want as much as I possibly can. :)
> > > When weighing in factors of importance like javascript vs CSS id
> > selectors
> > > that are technically not correct I have to go with option 1.
> > >
> > > So, it's "by design". Use class="your class name" instead.
> > >
> > > On 11/3/06, Bill Holloway <bi...@gmail.com> wrote:
> > > >
> > > > I have an @Any tag inside a @For loop.  I notice that the @Any tags
> > > > that are emitted have an automatically-generated id attribute.  Those
> > > > are blowing my CSS implementations -- unless I can ignore them in css
> > > > somehow.
> > > >
> > > > Is there a way to suppress the emission of those id attributes to the
> > > > browser?
> > > >
> > > > Thanks!
> > > > Bill
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > > For additional commands, e-mail: users-help@tapestry.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > Jesse Kuhnert
> > > Tapestry/Dojo/(and a dash of TestNG), team member/developer
> > >
> > > Open source based consulting work centered around
> > > dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
> > >
> > >
> >
> >
> > --
> > "Budgets are moral documents."
> >
> >      -- Ann Richards
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> Jesse Kuhnert
> Tapestry/Dojo/(and a dash of TestNG), team member/developer
>
> Open source based consulting work centered around
> dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
>
>


-- 
"Budgets are moral documents."

     -- Ann Richards

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Suppressing id attribute in @Any

Posted by Jesse Kuhnert <jk...@gmail.com>.
I don't know.....I would say that I use # css attributes about 2% of the
time.

Instead of #(generated id) .className why don't you just define it as :

.className {}

or

*.className {}

or

span.className {}

or

.someOtherContainer .className {}

?

On 11/3/06, Bill Holloway <bi...@gmail.com> wrote:
>
> " I am trying to prevent exactly what you want as much as I possibly
> can. :)"  Grrrrrr. :)
>
> Well, I think the problem is that class="" isn't enough of a handle on
> it.  The CSS designation would have to be
>
> <style>
> #(your-generated-id) .className
> {
>   border: ...;
> }
> </style>
>
> but maybe I'm wrong.  I'm getting around it by generated the attribute
> style="...".  That's the inline override.
>
> Bill
>
> On 11/3/06, Jesse Kuhnert <jk...@gmail.com> wrote:
> > There's no way to prevent it - unless you subclass @Any.
> >
> > I can provide some other thoughts though.
> >
> > -) Technically speaking, every element in the DOM that outputs an ID
> > attribute has to be unique to be "compliant" as far as having javascript
> > operations work consistently in the browser.
> >
> > -) If you are using CSS # style attributes to apply rules to more than
> one
> > element in a document with the same ID that probably isn't exactly the
> best
> > way to do it anyways. Use .<classname> CSS rules for these kinds of
> things
> > instead.
> >
> > You're going to be fighting an uphill battle trying to do what you want
> as I
> > am trying to prevent exactly what you want as much as I possibly can. :)
> > When weighing in factors of importance like javascript vs CSS id
> selectors
> > that are technically not correct I have to go with option 1.
> >
> > So, it's "by design". Use class="your class name" instead.
> >
> > On 11/3/06, Bill Holloway <bi...@gmail.com> wrote:
> > >
> > > I have an @Any tag inside a @For loop.  I notice that the @Any tags
> > > that are emitted have an automatically-generated id attribute.  Those
> > > are blowing my CSS implementations -- unless I can ignore them in css
> > > somehow.
> > >
> > > Is there a way to suppress the emission of those id attributes to the
> > > browser?
> > >
> > > Thanks!
> > > Bill
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > > For additional commands, e-mail: users-help@tapestry.apache.org
> > >
> > >
> >
> >
> > --
> > Jesse Kuhnert
> > Tapestry/Dojo/(and a dash of TestNG), team member/developer
> >
> > Open source based consulting work centered around
> > dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
> >
> >
>
>
> --
> "Budgets are moral documents."
>
>      -- Ann Richards
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Jesse Kuhnert
Tapestry/Dojo/(and a dash of TestNG), team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com

Re: Suppressing id attribute in @Any

Posted by Bill Holloway <bi...@gmail.com>.
" I am trying to prevent exactly what you want as much as I possibly
can. :)"  Grrrrrr. :)

Well, I think the problem is that class="" isn't enough of a handle on
it.  The CSS designation would have to be

<style>
#(your-generated-id) .className
{
  border: ...;
}
</style>

but maybe I'm wrong.  I'm getting around it by generated the attribute
style="...".  That's the inline override.

Bill

On 11/3/06, Jesse Kuhnert <jk...@gmail.com> wrote:
> There's no way to prevent it - unless you subclass @Any.
>
> I can provide some other thoughts though.
>
> -) Technically speaking, every element in the DOM that outputs an ID
> attribute has to be unique to be "compliant" as far as having javascript
> operations work consistently in the browser.
>
> -) If you are using CSS # style attributes to apply rules to more than one
> element in a document with the same ID that probably isn't exactly the best
> way to do it anyways. Use .<classname> CSS rules for these kinds of things
> instead.
>
> You're going to be fighting an uphill battle trying to do what you want as I
> am trying to prevent exactly what you want as much as I possibly can. :)
> When weighing in factors of importance like javascript vs CSS id selectors
> that are technically not correct I have to go with option 1.
>
> So, it's "by design". Use class="your class name" instead.
>
> On 11/3/06, Bill Holloway <bi...@gmail.com> wrote:
> >
> > I have an @Any tag inside a @For loop.  I notice that the @Any tags
> > that are emitted have an automatically-generated id attribute.  Those
> > are blowing my CSS implementations -- unless I can ignore them in css
> > somehow.
> >
> > Is there a way to suppress the emission of those id attributes to the
> > browser?
> >
> > Thanks!
> > Bill
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> > For additional commands, e-mail: users-help@tapestry.apache.org
> >
> >
>
>
> --
> Jesse Kuhnert
> Tapestry/Dojo/(and a dash of TestNG), team member/developer
>
> Open source based consulting work centered around
> dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com
>
>


-- 
"Budgets are moral documents."

     -- Ann Richards

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: Suppressing id attribute in @Any

Posted by Jesse Kuhnert <jk...@gmail.com>.
There's no way to prevent it - unless you subclass @Any.

I can provide some other thoughts though.

-) Technically speaking, every element in the DOM that outputs an ID
attribute has to be unique to be "compliant" as far as having javascript
operations work consistently in the browser.

-) If you are using CSS # style attributes to apply rules to more than one
element in a document with the same ID that probably isn't exactly the best
way to do it anyways. Use .<classname> CSS rules for these kinds of things
instead.

You're going to be fighting an uphill battle trying to do what you want as I
am trying to prevent exactly what you want as much as I possibly can. :)
When weighing in factors of importance like javascript vs CSS id selectors
that are technically not correct I have to go with option 1.

So, it's "by design". Use class="your class name" instead.

On 11/3/06, Bill Holloway <bi...@gmail.com> wrote:
>
> I have an @Any tag inside a @For loop.  I notice that the @Any tags
> that are emitted have an automatically-generated id attribute.  Those
> are blowing my CSS implementations -- unless I can ignore them in css
> somehow.
>
> Is there a way to suppress the emission of those id attributes to the
> browser?
>
> Thanks!
> Bill
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>


-- 
Jesse Kuhnert
Tapestry/Dojo/(and a dash of TestNG), team member/developer

Open source based consulting work centered around
dojo/tapestry/tacos/hivemind. http://blog.opencomponentry.com