3 回答
TA贡献1900条经验 获得超5个赞
JQuery中用siblings()方法取兄弟节点的元素。
jQuery.siblings() 是返回兄弟姐妹节点,不分前后。
比如有如下html页面:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
</head>
<body>
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li class="third-item">list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
</ul>
<script>
$('li.third-item').siblings().css('background-color', 'red');
</script>
</body>
</html>
运行结果:
TA贡献1799条经验 获得超6个赞
可以使用$(this).siblings('.a_id'); $(this)是<span class="edit">元素。
但是不建议你这样处理代码,这种结构在html结构改变或者内容改变时就会引起js失效(如老板突然不想显示id了,这很正常,用户并不需要了解文章id),推荐的方法是
< li data-key = "%id%" > ...Other content < button type = "button" onclick = "alert($(this).parents('li:first').attr('data-key')" >测试</ button > </ li > |
这行代码的意思是按钮点击的时候寻找父级元素中的第一个li,并获取其data-key属性的值,有点就是只要<li>内部不再有其他<li>那么该选取总是匹配的。
简单来说,js代码不要对节点关系太过于依赖,因为实际开发的时候考虑页面美观,html代码总是存在变化的可能,所以声明的时候要尽量宽松一些,否则改了html还要改js。
TA贡献1865条经验 获得超7个赞
<span class="edit" onclick="del_title(this)">
del_title(obj){
$($(obj).parent().children().first()).attr("class");
}
这样就可以了
添加回答
举报