LINUX.ORG.RU

Селектор для data?

 


0

1

http://jsfiddle.net/xorik/wRPjU/
Почему первая ссылка не краснеет? У неё ведь тоже data-id=2.
Или ЧЯДНТ?

Ъ:

html:
<a href='#'>blabla</a>
<br>
<a href='#' data-id='2'>blabla</a>

js:
$(function() {
    $("a:first").data("id", 2);
    $("a[data-id=2]").css("color", "red");
})
Вторая ссыла краснеет, первая нет

★★★★★

Последнее исправление: xorik (всего исправлений: 1)

Мда, похоже ничего такого нету, придется через each() костылять, или лепить свой фильтр

xorik ★★★★★
() автор топика
Ответ на: комментарий от f0ks

Я думал, что data это типа алиаса к attr(«data-something»), а оно оказывается только на чтение работает, печалька

xorik ★★★★★
() автор топика
Ответ на: комментарий от xorik

нет, это типа другой механизм. как я понимаю .data это типа такой алиалс к реестру, ведь в дате ты можешь хранить что угодно, ссылки на объекты и т.п.

trashymichael ★★★
()
Ответ на: комментарий от RR

Ага, как вариант, спасибо

xorik ★★★★★
() автор топика

потому что нету там такого selector'а

maxcom ★★★★★
()
// костыль
$.fn.datafilter = function(k, v) {
    return $(this).filter(function() {
        return $(this).data(k) == v;
    });
};

$('a').datafilter('id', 2); //chainable
anonymous
()
Ответ на: комментарий от Boba_Fett

Исправь на:
...
и будет тебе счастье.

но ведь вопрос то был — «почему?»..

а не — «как мне можно исправить этот <sarcasm>офигительно полезный</sarcasm> фрагмент кода чтобы он заработал?» :)

и мне вот тоже стало интересно :-)

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

Ответили ведь уже, что атрибут data-id и data(«id») работает только в одну сторону, т.к. это не алиас

xorik ★★★★★
() автор топика
Ответ на: комментарий от user_id_68054

но ведь вопрос то был — «почему?»..

В том-то и дело, что вопрос был, цитирую: «Почему первая ссылка не краснеет? У неё ведь тоже data-id=2. Или ЧЯДНТ?». Так вот, включаю К.О.: первая ссылка не краснеет потому, что ты действительно делаешь не так. Как надо - я написал.

Boba_Fett
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.