2014-10-31 41 views
0

选择data-ctrtid自定义属性设置风格选择自定义属性设置风格

HTML剪断

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

这是动态创建的代码,我正确地捕捉ID这样的。

$('.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 2014-10-31 14:55:56

+0

@ marcelo2605没有不完全是。这是预先设定风格(我认为)。我至少有20个'data-ctryId's,所以我只需要针对特定​​的一个 – morne 2014-10-31 15:00:58

回答

0

如果我理解正确,你有id,并且你需要找到元素。如果是这样,这将工作:

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

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

+0

即可,但是*他们已经拥有那个元素*,因为他们发现它并从数据中检索到'data('ctryid')'它。 – 2014-10-31 15:40:16

+0

@TrueBlueAussie是的,也许你是对的。看起来他的jQuery知识超出了通过id选择元素的基本概念。也许OP会澄清。 – Talmid 2014-10-31 15:45:03

+0

我希望他们澄清。这个问题至多不明确。尽管如此,但您的示例没有意义,因为它们*已经具有*具有该属性的元素,因此搜索将返回它们已具有的相同元素。 – 2014-10-31 15:46:15

0

如果你要搜索的字符串变量值的ID,将其转换为一个jQuery的ID选择器(与#即前缀):

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

所以你的例子就变成:

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

这当然假设您在页面某处有这样的元素:

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