通过jQuery向Link添加属性

时间:2013-12-03 14:47:43

标签: jquery

我有以下HTML:

<div class="navv">
<ul>
<li><a href="#">HOME</a></li>
<li class="dropdown"><a href="#">MAPPING</a></li>
</ul>
</div>

我想要的是循环遍历每个“li”,然后在“li”中的特定链接“a href”中添加一个属性,其中包含“dropdown”类

我设法解决了这个问题:

  • 循环遍历每个“li”
  • 我还设法检查“li”是否有类“下拉”

剩下的唯一部分是我无法为具有“下拉”类的特定“li”的“a href”添加新属性

这是我到目前为止所尝试的:

<script type="text/javascript">
$(document).ready(function(){
    $(".navv ul li").each(function(index){
        if($(this).hasClass('dropdown')){
         // Adding a new attribute to the link tag  
         // referring to the particular "li" and "a" inside it and adding attribute, but this doesen't work.
         $(this).("a").attr('data-toggle','dropdown');    
        }
    })
});
</script>

3 个答案:

答案 0 :(得分:3)

你的代码太多了!试试这个:

$("li.dropdown a").attr('data-toggle', 'dropdown');

此外,除非您确实需要DOM节点上的属性(因为您使用括号[]选择器选择它),请使用.data()

$("li.dropdown a").data('toggle', 'dropdown');

答案 1 :(得分:1)

试试这个

$(this).children("a").attr('data-toggle','dropdown');    

答案 2 :(得分:0)

尝试

您需要在li

中找到a标记li
$(this).find("a").attr('data-toggle','dropdown');    

<小时/> 更好地使用

$("li.dropdown a").data('toggle', 'dropdown');

.data()