Я делал динамический эффект на DIV, используя JQuery, когда обнаружил, что
возвращаемое значение this.id
варьировалось от функции к функции.
что это такое.
Я получил два набора простых тегов DIV родитель-ребенок, как это:
<DIV ID="row">
<DIV ID="c1">
<Input type="radio" name="testing" id="testing" VALUE="1">testing1
</DIV>
</DIV>
<DIV ID="row">
<DIV ID="c2">
<Input type="radio" name="testing" id="testing" VALUE="2">testing2
</DIV>
</DIV>
Код 1.
$('#row DIV').mouseover(function(){
radio_btns.each(function() {
$('#row DIV).addClass('testing'); // worked
});
});
Код 2.
$('#row DIV').mouseover(function(){
var childDivID = this.id;
radio_btns.each(function() {
$('#'+childDivID).parent('DIV').addClass('testing'); // didn't work
});
});
Я надеваю Не понимаю, почему может работать только первый код
и выделил все «строки» DIV,
, но второй код не смог этого сделать?
возможный дубликат [Javascript проблемы области видимости, когда лямбда-функция относится к переменной (http://stackoverflow.com/questions/2828718/javascript-scope-problem-when-lambda-function-refers-to-a-variable-in-enclosing -l) –
Вы имеете в виду «но * второе * код не смог этого сделать "? – edwin
У вас не может быть два элемента с одним и тем же идентификатором на одной странице. – edwin