2014-10-31 4 views
0

Выберите data-ctrtid пользовательский атрибут для установки стиляВыберите пользовательский атрибут, чтобы установить стиль

HTML надрез

<div class="expandListHeaderRow" data-ctryid="28fa1d89-eabe-44b5-b761-897b7835d7ab">South Africa</div> 

Это динамически создается код, и я захватить идентификатор правильно, как это.

$('.expandListDetail').on('click', '.expandListHeader', function(){ 
    var argument = $(this).closest('.expandListHeader').find('div').data('ctryid'); 
    . 
    . 
} 

Но после обновления списка, я хочу развернуть список до того места, где оно было раньше. (это динамический мультирасширяемый/сборный список)

data('ctryid').css('display': 'block') или что-то подобное.

Но как вы можете найти конкретные ID настраиваемого атрибута для таргетинга элемента на изменение CSS?

+0

http://stackoverflow.com/a/5324433/3691686 – marcelo2605

+0

@ marcelo2605 Нет, не совсем. это устанавливает стиль для руки перед собой (я думаю). У меня, по крайней мере, 20 'data-ctryId', так что вам нужно будет ориентироваться только на конкретный – morne

ответ

0

Если я правильно понял, у вас есть идентификатор, и вам нужно найти элемент. Если да, то это будет работать:

$('[data-ctryid="' + capturedId + '"]') 

См http://api.jquery.com/attribute-equals-selector/

+0

. Я хотя и сначала, но * у них уже есть этот элемент *, как они его нашли, и извлекли' data ('ctryid') 'из Это. –

+0

@TrueBlueAussie Да, возможно, вы правы. Казалось, что его знания jQuery выходят за рамки базовой концепции выбора элемента по id. Возможно, ОП разъяснит. – Talmid

+0

Надеюсь, они уточнят. В лучшем случае вопрос двусмыслен. Хотя верно, ваш пример бессмыслен, хотя они уже имеют * элемент, который имеет этот атрибут, поэтому поиск возвращает тот же самый элемент, который у них уже есть. –

0

Если вы хотите выполнить поиск идентификатора по значению переменной строки, преобразовать его в селектор JQuery ID (т.е. префикс с #):

$('#' + data('ctryid')) 

так что ваш пример будет выглядеть так:

$('#' + data('ctryid')).css('display': 'block') 

Это, конечно, предполагает, что у вас есть такие элементы, как это где-то на странице:

<div id="28fa1d89-eabe-44b5-b761-897b7835d7ab">