Селектор идентификатора jQuery не работает - PullRequest
1 голос
/ 19 марта 2011

Я уверен, что это действительно просто, но у меня проблемы с этим.

У меня есть следующие операции jQuery, которые, кажется, не работают:

$("img[id='Char_2']").attr("src", "http://image.xboxlive.com/global/t.584108a4/tile/0/2800e");

$("img[id='Char_" + Character + "']").attr("src", "http://image.xboxlive.com/global/t.584108a4/tile/0/2800d");

Я проверяю это: http://jsfiddle.net/PottyMonster/M6ZqD/

Какое решение?

Ответы [ 3 ]

1 голос
/ 19 марта 2011

Проблема не в том, где вы думаете. Его нет в удостоверении личности, скорее, ваш onClick никогда не вызывался.

Вот рабочий пример, написанный незаметно:

jQuery('img').click(function(){
    var s = $(this).attr('id');
    s = s.slice(s.length-1, s.length);
    ChangeTo(parseInt(s));
})

function ChangeTo(Character) {
    $("img[id='Char_2']").attr("src", "http://image.xboxlive.com/global/t.584108a4/tile/0/2800e");

    $("img[id='Char_" + Character + "']").attr("src", "http://image.xboxlive.com/global/t.584108a4/tile/0/2800d");

}
1 голос
/ 19 марта 2011

Если вы не хотите использовать только селектор идентификаторов (я не понимаю, почему вы этого не сделаете, идентификаторы уникальны на странице), вы можете использовать

$("img#Char_2").attr("src", "http://image.xboxlive.com/global/t.584108a4/tile/0/2800e");

$("img#Char_" + Character).attr("src", "http://image.xboxlive.com/global/t.584108a4/tile/0/2800d");
0 голосов
/ 19 марта 2011

Это проблема с этим jsfiddle.net (альфа). С Firebug вы увидите, что отладчик говорит

ChangeTo не определено

Таким образом, он не имеет ничего общего с jQuery или JavaScript.

...