JQuery怎么取兄弟元素的值?
<ul>
<li><span class="a_id">1</span><span class="a_title">标题1</span><span class="edit">删除</span></li>
<li><span class="a_id">2</span><span class="a_title">标题2</span><span class="edit">删除</span></li>
<li><span class="a_id">3</span><span class="a_title">标题3</span><span class="edit">删除</span></li>
<li><span class="a_id">n</span><span class="a_title">标题n</span><span class="edit">删除</span></li>
</ul>
如上,我点击随机一行的删除元素class为 edit 的时候怎么使用JQuery获取对应一行的class为a_id的元素取值?
因为我要获取a_id值才能提交给数据库删除。 展开
2016-01-09 · 做真实的自己 用良心做教育
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>
运行结果:
可以使用$(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。
就是当前点击的元素的父元素的第一个子元素
2015-07-10
del_title(obj){
$($(obj).parent().children().first()).attr("class");
}
这样就可以了
希望能帮到你。望采纳。