lijst met ID's
Stel ik heb een pagina met 4 divjes:
Code (php)
1
2
3
4
2
3
4
<div id="1" class="draggable"></div>
<div id="2" class="draggable"></div>
<div id="3" class="blaat"></div>
<div id="4" class="draggable"></div>
<div id="2" class="draggable"></div>
<div id="3" class="blaat"></div>
<div id="4" class="draggable"></div>
Hoe kan ik dan een variabel aanmaken met daarin een array met alle ID's die de class 'draggable' hebben, in bovenstaand geval dus: [1, 2, 4]
Alvast bedankt
Gewijzigd op 10/04/2012 21:16:09 door Lord Gaga
"met jQuery": $('.draggable')
Let er overigens op dat de "id" van een element nooit mag bestaan uit enkel een cijfer!
Dat was nieuw voor mij (dank), volgens de HTML 4 specificaties heb je inderdaad gelijk (een id moet beginnen met een letter). Na wat zoeken lijkt dit echter niet meer te gelden voor HTML5 http://www.w3.org/TR/2012/WD-html5-20120329/global-attributes.html#the-id-attribute
Quote:
The value must be unique amongst all the IDs in the element's home subtree and must contain at least one character. The value must not contain any space characters.
Nu lees ik hier in "must contain at least one character" dat een id niet leeg kan zijn, maar niet dat "character" een letter moet zijn.
Gewijzigd op 11/04/2012 09:00:28 door Erwin H
Verdr heb ik geprobeer wat Bas zei:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
value = new Array();
jQuery('div').each(function(e)
{
value[e] = jQuery(this).attr('id');
alert(value[e]);
});
jQuery('div').each(function(e)
{
value[e] = jQuery(this).attr('id');
alert(value[e]);
});
Nu krijg ik keurig een aantal alerts met daarin de id's van alle divjes op de pagina, maar ik wil dat hij alleen de id's weergeeft die beginnen met 'widget-'
Ik heb dit geprobeerd met
Maar dan krijg ik geen enkel alert meer terwijl er 2 divjes zijn waarvan het id begin 'widget-'
http://mathiasbynens.be/notes/css-escapes en http://mothereff.in/css-escapes
Het enige waar je rekening mee moet houden is dat je in CSS en met de QuerySelector in JS niet als eerste character een cijfer mag hebben, die moet je dan escapen.
@Avicka, bedoel je zoiets:
Live voorbeeld: http://jsfiddle.net/KKGmL/
(of als je geen console gebruikt (wat je echt moet doen, is veel beter): http://jsfiddle.net/KKGmL/1/
Chris, dat is niet meer verplicht. Zie ook: Het enige waar je rekening mee moet houden is dat je in CSS en met de QuerySelector in JS niet als eerste character een cijfer mag hebben, die moet je dan escapen.
@Avicka, bedoel je zoiets:
Code (php)
1
2
3
4
5
2
3
4
5
var ids = [];
$('div[id^="widget-"]').each(function() {
ids.push($(this).attr('id').substr(7));
});
console.log(ids);
$('div[id^="widget-"]').each(function() {
ids.push($(this).attr('id').substr(7));
});
console.log(ids);
Live voorbeeld: http://jsfiddle.net/KKGmL/
(of als je geen console gebruikt (wat je echt moet doen, is veel beter): http://jsfiddle.net/KKGmL/1/