访问父属性

时间:2013-11-18 06:37:27

标签: jquery

如何访问父锚标记的href属性?

<a href="#"><li><div class="my-class">Click ME</div></li></a>

如何在jQuery中更改href值?

我试过了,

 $('.my-class').find('li').find('a').attr('href','http://example.com');

6 个答案:

答案 0 :(得分:2)

尝试这样的事情

 $('.my-class').parent('a').attr('href','http://example.com');

参考

http://api.jquery.com/parent/

答案 1 :(得分:1)

写:

$('.my-class').closest('a').attr('href','http://example.com');

closest()遍历DOM树。

More information here.

答案 2 :(得分:1)

你需要使用closest()来获取祖先,find是用来获得后代。

 $('.my-class').cloest('a').attr('href','http://example.com');

closest()

  

描述:对于集合中的每个元素,通过测试元素本身和遍历来获取与选择器匹配的第一个元素   通过DOM树中的祖先reference

find()

描述:获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤。

答案 3 :(得分:1)

尝试.closest()

$('.my-class').closest('a').attr('href','http://example.com');
  

描述:对于集合中的每个元素,获取第一个元素   通过测试元素本身并遍历来匹配选择器   通过DOM树中的祖先。

fiddle Demo

答案 4 :(得分:1)

$('.my-class').find('li')将在li内寻找div.my-class元素。因此它无效。

由于a.my-class元素的父的父级。

然后尝试以下代码

$('.my-class').parents('a').attr('href','http://example.com');

$('.my-class').parent().parent().attr('href','http://example.com');

答案 5 :(得分:1)

工作DEMO

试试这个

  $('.myclass').parents('a').attr('href','http://example.com');

希望这有帮助,谢谢