JQuery怎么取兄弟元素的值?

比如:<ul><li><spanclass="a_id">1</span><spanclass="a_title">标题1</span><spanclass="edit"... 比如:

<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 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部

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>

运行结果:

百度网友a19d193
推荐于2017-09-20 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1441万
展开全部

可以使用$(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。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落花意丨流水情
2018-02-27 · TA获得超过237个赞
知道小有建树答主
回答量:172
采纳率:71%
帮助的人:34.2万
展开全部
$(this).parent().child('span:nth-child(1)').val();
就是当前点击的元素的父元素的第一个子元素
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-07-10
展开全部
<span class="edit" onclick="del_title(this)">

del_title(obj){
$($(obj).parent().children().first()).attr("class");
}
这样就可以了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CJP字
2015-07-10 · TA获得超过365个赞
知道小有建树答主
回答量:66
采纳率:100%
帮助的人:36.4万
展开全部
$('.edit').prevUntil('.a_id');
希望能帮到你。望采纳。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式