为了账号安全,请及时绑定邮箱和手机立即绑定

请问JQuery怎么取兄弟元素的值?该怎么操作

请问JQuery怎么取兄弟元素的值?该怎么操作

幕布斯6054654 2022-01-13 18:11:03
比如:<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值才能提交给数据库删除。
查看完整描述

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>

运行结果:



查看完整回答
反对 回复 2022-01-16
?
哈士奇WWW

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。



查看完整回答
反对 回复 2022-01-16
?
莫回无

TA贡献1865条经验 获得超7个赞

<span class="edit" onclick="del_title(this)">
del_title(obj){
$($(obj).parent().children().first()).attr("class");
}
这样就可以了

查看完整回答
反对 回复 2022-01-16
  • 3 回答
  • 0 关注
  • 215 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信