检索列表属性

时间:2010-12-16 08:55:01

标签: jquery

大家好 如果我将一个属性分配给列表如下:

<ul type_code=27>

如果我知道li = 10(<li id=10>)的id,我怎么能得到这个值(ul type_code值)?

2 个答案:

答案 0 :(得分:2)

您提供的ID(“10()”)是无效的ID属性(ID不能以数字开头)。抱歉,IDs used with CSS无法启动数字; HTML ones can如果您不打算将它们与CSS一起使用。但是使用jQuery,你经常使用CSS选择器,所以最好坚持使用CSS规则。

[编辑:我使用parents,但closest更好,因为它会在找到第一个匹配后立即停止查看。请注意upvote jerjer。]

无论如何,假设LI的ID为“fred”:

var code = $("#fred").closest("ul").attr("type_code");

,例如,使用此HTML:

<ul type_code=27>
    <li id='fred'>...</li>
</ul>

...上面的代码会将code设置为“27”。 Live example

但请注意,创建自己的属性值意味着您的HTML不会validate。然而,这是一种流行的做法,以至于它现在在HTML5中特别适用:任何带有前缀data-的属性都将被验证。所以更新以上内容:

HTML:

<ul data-type-code=27>
    <li id='fred'>...</li>
</ul>

JavaScript w / jQuery:

var code = $("#fred").closest("ul").attr("data-type-code");

Live example

答案 1 :(得分:2)

也可以尝试:

var code = $('#li-id').closest('ul').attr('type_code');

请注意:作为id属性值的“10”可能无法在其他浏览器上使用。