2014-10-29 6 views
1

HTML сегмент:Как получить объект Jquery его пользовательский атрибут

<ul id="nav_des"> 
    <li class="cur">test1<a class="shopping2" data-category-id="1">12</a></li> 
    <li>test2<a class="shopping2" data-category-id="2"></a></li> 
    <li >test3<a class="shopping2" data-category-id="3"></a></li> 
    <li style="margin-bottom:25px; background:none"></li> 
</ul> 

Я хочу, чтобы получить текст() из «», который «данные-категории-идентификатор» является 1 (т.е. это 12). Я попытался использовать селектор атрибутов вроде этого, но не смог. Поэтому я просто использую цикл «для», чтобы получить значение, но я не думаю, что это хороший способ. Как это исправить? благодаря

var category_id =1 
$(".shopping2").("data-category-id='"+category_id+"'").show() 

ответ

0

Вы можете использовать attribute-equals-selector, чтобы получить элементы их значениями атрибутов:

$(".shopping2[data-category-id='"+category_id+"']").show(); 

Working Demo

+0

здесь демо http://jsfiddle.net/L1417dgn/ –

1

Вы можете обернуть атрибуты, как те, в квадратных скобках (в attribute selector):

$(".shopping2[data-category-id='"+category_id+"']").show(); 

Это будет выбрать элемент, класс «shopping2» и чей data-category-id равна переменной category_id.

1

Попробуйте следующее: Вы можете использовать Attribute Selector, чтобы выбрать элемент с определенным значением атрибута.

var category_id =1 
$(".shopping2[data-category-id='"+category_id+"']").show(); 
Смежные вопросы