Well, if you're doing a Q/A thing than I think a DL list with DT = Q
and DD = A is even more semantic, better looking, whatever..
But then, if you read the specs, a DD shouldn't contain much else than
text, but that's mainly the case with Q/A's anyway.

I've done things both ways, but most of the time doing all this in JS
(storing it in an array or whatever) is too much. But it all depends
on the project; how large is the site, how many people are working on
it, what are the inhouse standards you are following, etc. etc. There
are always 10 ways of doing things in this web stuff, that's why we
always have dilemma's about "how would others do this".. at least, I
have those :)


On Feb 11, 3:36 pm, Roman Land <[email protected]> wrote:
> Its possibly more useful when the developing team is a one man show, but you
> still leave your HTML to be edited by other members of the team.
>
> Also, I like being dependent on as few entities as possible, so when you
> want to change something its a breeze.
>
> IMO, in this case HTML provides the unsorted list facility
> <UL><LI></LI></UL> so these questions + answers can be grouped in one LI,
> this not only looks better (readable) in HTML and follows a more standard
> way about handling lists of items.
>
> Never the less, one of the big strengths and weakness with web development
> is the number of options and openness for creativity, I am suggesting some
> more options..
>
>
>
>
>
> On Thu, Feb 11, 2010 at 4:09 PM, אריה גלזר <[email protected]> wrote:
> > i disagree with your assumption that the use of the id attribute is an
> > html->js markup. It is good for semantic purposes. it is also important for
> > accessibility.
> > this specific use case for example, is not about html->js markup. giving
> > questions and answers unique ids that correlate with each other is both good
> > semantics and good for usability (eg allowing anchoring).
>
> > -----------
> > אריה גלזר
> > 052-5348-561
> > 5561
>
> > On Thu, Feb 11, 2010 at 15:50, Roman Land <[email protected]> wrote:
>
> >> As mentioned by other member of this group, utilizing the elements (id
> >> class etc.. ) attributes can and will cause issues when other developers
> >> (and especially designers) are also working with the same code.
>
> >> It is also my personal preference to minimize HTML -> JS markup, html & JS
> >> code stays cleaner and you end up with more editable coherent code both in
> >> JS and in HTML.
>
> >> IMHO.
>
> >> On Thu, Feb 11, 2010 at 11:18 AM, אריה גלזר <[email protected]>wrote:
>
> >>> i can't see the problem.
> >>> Assigning IDs isn't inefficient. We use classes for elements that don't
> >>> specifically require a unique identity, or elements that might have 
> >>> multiple
> >>> appearances with the same behavior. Another use case is when we want to
> >>> generalize a behavior to a wide variety of html structures (for eg when we
> >>> write plugins).
> >>> In your case, each question-answer is unique, and has an identity on it's
> >>> own. Thus, assigning them IDs is the better, and faster solution (using id
> >>> selectors is always much faster than using class selectors, *because*they 
> >>> are unique). When you can safely use IDs, you should.
> >>> Also, the IDs allow you to add semantic value to your structure. the best
> >>> way to mark the connection between an answer and a question is a DL, but
> >>> if your structure won't let you couple them in that fashion (if the lists
> >>> must be apart), using coupled IDs is a next best solution.
>
> >>> all of this is at least the way i see things.
> >>> -----------
> >>> אריה גלזר
> >>> 052-5348-561
> >>> 5561
>
> >>> On Thu, Feb 11, 2010 at 11:03, cbolson <[email protected]> wrote:
>
> >>>> > actually, i think the most efficient way to do this is to mark the
> >>>> questions
> >>>> > and answers with grouped id's:
> >>>> > <div id='q14' class = 'question'></div>
>
> >>>> > <div id='a14' class = 'answer'></div>
>
> >>>> > and then you could do:
>
> >>>> > a_id = 'a'+this.get('id').substr(1);
>
> >>>> Funnily enough that is the way I "used" to do it  - ie assigning
> >>>> unique id's to all the questions and answerd (eg)  until I got my head
> >>>> round arrays and indexes (in Mootools).
> >>>> As I understand it this would make for simpler code and less html
> >>>> markup (ie no "ids" on all the elements).
> >>>> However, you say that using arrays is less efficent in this case so
> >>>> now I am not so sure.... time to do a couple of tests...
>
> >>>> Chris
>
> >>>> On 11 feb, 09:43, אריה גלזר <[email protected]> wrote:
> >>>> > actually, i think the most efficient way to do this is to mark the
> >>>> questions
> >>>> > and answers with grouped id's:
> >>>> > <div id='q14' class = 'question'></div>
>
> >>>> > <div id='a14' class = 'answer'></div>
>
> >>>> > and then you could do:
>
> >>>> > a_id = 'a'+this.get('id').substr(1);
>
> >>>> > this is much simpler and more efficient than creating an array of all
> >>>> > answers and question, and IMO more semantic as well.
> >>>> > if you anticipate a question will be clicked multiple times than
> >>>> element
> >>>> > storage can be a good solution, but in a q-a scenario i think most
> >>>> times
> >>>> > element storage is an overkill.
> >>>> > -----------
> >>>> > אריה גלזר
> >>>> > 052-5348-561
> >>>> > 5561
>
> >>>> > On Wed, Feb 10, 2010 at 23:48, cbolson <[email protected]> wrote:
> >>>> > > Thanks all for your help :)
> >>>> > > I think that it was the indexOf  that I was missing in all my
> >>>> various
> >>>> > > attempts.
>
> >>>> > > Using getNext(), whilst it works in my example in mooshell, won't
> >>>> > > actually work in my actual code as the elements aren't "together".
>
> >>>> > > Cheers,
> >>>> > > Chris
>
> >>>> > > On 10 feb, 22:30, Ryan Florence <[email protected]> wrote:
> >>>> > > > I'd personally create the arrays and do the indexOf in this
> >>>> scenario.
>
> >>>> > > > But there's a chance the actual use case could call for storing
> >>>> the
> >>>> > > > answers with the questions then simply retrieving the element
> >>>> using
> >>>> > > > el.store and el.retrieve.
>
> >>>> > > > On Feb 10, 2010, at 2:04 PM, אריה גלזר wrote:
>
> >>>> > > > >http://mootools.net/shell/K55zK/3/
> >>>> > > > > this in an event always points to the element.
> >>>> > > > > knowing that, here are 2 solutions for this that i can think of:
> >>>> > > > > 1. creating a questions array and using indexOf
> >>>> > > > > 2. using getNext() to fetch the nearest answer
>
> >>>> > > > > both are shown in the example above.
> >>>> > > > > -----------
> >>>> > > > > אריה גלזר
> >>>> > > > > 052-5348-561
> >>>> > > > > 5561
>
> >>>> > > > > On Wed, Feb 10, 2010 at 22:41, cbolson <[email protected]>
> >>>> wrote:
> >>>> > > > > Is it possible to get the index of the element (eg) clicked when
> >>>> using
> >>>> > > > > event delegation?
>
> >>>> > > > > Here is my example code:
>
> >>>> > > > > var comments=$$('.answer').hide();
>
> >>>> > > > > document.id('faq').addEvent('click:relay(.question)',
> >>>> function(){
> >>>> > > > >        // how to get the "index" of the item clicked so that
> >>>> this
> >>>> > > > > next line will work?
> >>>> > > > >       comments[index].show();
> >>>> > > > > });
>
> >>>> > > > > Code in mooshell:
> >>>> > > > >http://mootools.net/shell/kss2C/
>
> >>>> > > > > Thanks in advance for any suggestions, I am probably missing
> >>>> something
> >>>> > > > > obvious :(
>
> >>>> > > > > Chris
>
> >> --
> >> ---
> >> "Make everything as simple as possible, but not simpler."
>
> >> - Albert Einstein
>
> --
> ---
> "Make everything as simple as possible, but not simpler."
>
> - Albert Einstein

Reply via email to