Получить атрибут дочернего элемента - PullRequest
26 голосов
/ 19 января 2011

Если у меня есть следующая разметка:

<p class="header hours">
    <a href="javascript:void(0)" class="sort" sortcat="hours">
        Hours&nbsp;<span class="imgholder" sortcat="hours">&nbsp;</span>
    </a>
</p>

Как я могу нацелить тег <span> в теге привязки?Есть еще пять похожих тегов <p>, каждая из которых имеет свое значение для sortcat=

Ответы [ 5 ]

50 голосов
/ 19 января 2011
$(".sort").click(function(){
  var cat =  $(this).children("span").attr("sortcat");
  //do something with the sortcat
});
10 голосов
/ 19 января 2011
$("a span[sortcat]").attr('sortcat')

Это даст вам значение sortcat первого элемента. Чтобы получить их все, сделайте следующее:

$("a span[sortcat]").map(function(){ return $(this).attr('sortcat') })

Смотрите эту рабочую демонстрацию: http://jsfiddle.net/BwgDW/

2 голосов
/ 19 января 2011
$('.sort span')

Я неправильно понял?

1 голос
/ 19 января 2011

Существует несколько способов ссылки на тег span, но все они заканчиваются на ".attr ('sortcat');" Я думаю, это зависит от того, насколько конкретным вы хотите быть и насколько гибким вам нужно быть, если есть еще несколько тегов p с тегами привязки и интервалами внутри.

$('p.header a.sort span.imgholder').attr('sortcat');

/* or */

$('span.imgholder').attr('sortcat');

Вы можете выбирать элементы на основе их имени тега, имени класса или атрибутов внутри тегов. Обратитесь к документации jQuery по селекторам:

http://api.jquery.com/category/selectors/basic-css-selectors/

http://api.jquery.com/category/selectors/

0 голосов
/ 19 января 2011

find () находит элементы в данном элементе.

$('a.sort').find('span');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...