html - Altering multiple input's id's using jquery -
i trying change id's of of check boxes inside of parent container, far have ot been able work, here code,
html:
<div data-custom='other_container' class='container'> <h3>other:</h3> <div class='container'> <label for='monitoring'>monitoring , verification of energy savings: </label> <div> <input type='checkbox' name='other' id='monitoring' class='validate[mincheckbox[1]] checkbox' /> </div> </div> <div class='container'> <label for='engineering'>engineering & project management: </label> <div> <input type='checkbox' name='other' id='engineering' class='validate[mincheckbox[1]] checkbox' /> </div> </div> <div class='container'> <label for='energy_audits'>energy audits: </label> <div> <input type='checkbox' name='other' id='energy_audits' class='validate[mincheckbox[1]] checkbox' /> </div> </div> </div>
jquery:
$("[data-custom='other_container']").children('input').attr('id', 'test');
any idea on wrong this?
thanx in advance.
the data-custom='other_container'
element doesn't have children <input>
elements.
you should use .find()
instead.
$("[data-custom='other_container']").find('input').attr('id', 'test');
the .find()
method search through descendants, whereas .children()
looks @ immediate children.
but keep in mind ids must unique, want sure assign unique id each. this:
$("[data-custom='other_container']").find('input').attr('id', function( ) { return 'test' + i; });
also, idea give div
tag name in selector in case, jquery isn't looking @ every element data-custom
attribute.
$("div[data-custom='other_container']")
you make little more specific adding .container
class selector.
$("div.container[data-custom='other_container']")
Comments
Post a Comment