gpt4 book ai didi

javascript - Jquery Prev() 获取数据属性的最后 3 个标签名称

转载 作者:行者123 更新时间:2023-11-30 14:53:11 25 4
gpt4 key购买 nike

嘿,我正在尝试找出我从点击 ADDtab_138269500 按钮然后返回 所需的路径(上一个) 一直到 span 标签,它到达第一个反向词。

JSFIDDLE给你看

到目前为止,我所拥有的 JS 代码似乎并非如此(因为它没有该标记的数据):

$(document).ready(function() {    
$('[data-item-id="ADDtab_138269500"]').click(function() {
var blah = $(this).prev().prev().closest("div").find('span');

console.log(blah);
});
});

HTML:

<div class="input-group" style="margin-top: 40px;">
<span data-id="Writter Status" style="color: rgb(255, 46, 49); position: absolute; z-index: 8; text-transform: uppercase; text-shadow: rgba(150, 150, 150, 0.87) 0px 1px 1px; font-family: Arial, Helvetica, sans-serif; font-size: 10px; left: 13px; top: 14px; width: 300px; letter-spacing: 1px;">Writter Status</span>
<span id="lblBG" style="box-shadow: 0px 5px 6px -4px rgba(0,0,0,0.55);border-radius: 4px; border: 1px solid rgba(204, 204, 204, 1); border-image: none; left: 7px; top: 14px; width: 98px; height: 16px; position: absolute; z-index: 3; background-color: rgba(238, 238, 238, 1);"></span>
<div class="input-group-addon" style="width: 33px;">
<img src="data:image/svg+xml;base64,PD94bWw..." id="iconImg_currentUsers" style="width: 20px; height:20px;">
</div>
<div class="col-sm-10">
<span id="inventory" class="tips form-control input-sm" data_tooltip="example 1" style="width: 500px; background-color: rgb(254, 231, 231); height: 37px;" data-cnt="0"><div class="select3-multiple-input-container">
<span class="select3-multiple-selected-item" data-item-id="1" style="padding-right: 5px;">Pending</span>
<span class="select3-multiple-selected-item" data-item-id="2" style="padding-right: 5px;">Approved</span>
<span class="select3-multiple-selected-item" data-item-id="3" style="padding-right: 5px;">Denied</span>
<span class="select3-multiple-selected-item" data-item-id="ADDtab_138269500" style="padding-right: 5px; background-color: rgb(40, 177, 40); z-index: 50;" data-popmodal_id="185">ADD ITEM</span>
<div style="top: 23px; left: 168.344px;" data-popmodal_id="185" data-popmodal="open" class="popModal animated bottomLeft fadeInBottom">
</div>
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" class="select3-multiple-input" placeholder="" style="width: 678px; background-color: rgb(255, 255, 255);"><span class="select3-multiple-input select3-width-detector"></span>
<div class="clearfix"></div>
</div>
</span>
</div>
</div>
<div id=""></div>

我希望实现的是从顶部 span 标签 获取 data-id="Writter Status" 的值。

最佳答案

实现此目的的最简单方法是将 DOM 从按钮向上移动到两个元素最近的父容器,然后 find() 您想要的 span从中读取 data-id,如下所示:

$('[data-item-id="ADDtab_138269500"]').click(function() {
var id = $(this).closest("div.input-group").find('span[data-id]').data('id');
console.log(id);
});
.input-group {
margin-top: 40px;
}

.input-group .status {
color: rgb(255, 46, 49);
position: absolute;
z-index: 8;
text-transform: uppercase;
text-shadow: rgba(150, 150, 150, 0.87) 0px 1px 1px;
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
left: 13px;
top: 14px;
width: 300px;
letter-spacing: 1px;
}

.input-group .input-group-addon {
width: 33px;
}

.input-group .input-group-addon img {
width: 20px;
height: 20px;
}

.input-group .select3-multiple-selected-item {
padding-right: 5px;
}

.input-group .select3-multiple-selected-item.highlight {
background-color: rgb(40, 177, 40);
z-index: 50;
}

.input-group .popModal {
top: 23px;
left: 168.344px;
}

.input-group .select3-multiple-input {
width: 678px;
background-color: rgb(255, 255, 255);
}

#lblBG {
box-shadow: 0px 5px 6px -4px rgba(0, 0, 0, 0.55);
border-radius: 4px;
border: 1px solid rgba(204, 204, 204, 1);
border-image: none;
left: 7px;
top: 14px;
width: 98px;
height: 16px;
position: absolute;
z-index: 3;
background-color: rgba(238, 238, 238, 1);
}

#inventory {
width: 500px;
background-color: rgb(254, 231, 231);
height: 37px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="input-group">
<span data-id="Writter Status" class="status">Writter Status</span>
<span id="lblBG"></span>
<div class="input-group-addon">
<img src="data:image/svg+xml;base64,PD94bWw..." id="iconImg_currentUsers">
</div>
<div class="col-sm-10">
<span id="inventory" class="tips form-control input-sm" data_tooltip="example 1" data-cnt="0">
<div class="select3-multiple-input-container">
<span class="select3-multiple-selected-item" data-item-id="1">Pending</span>
<span class="select3-multiple-selected-item" data-item-id="2">Approved</span>
<span class="select3-multiple-selected-item" data-item-id="3">Denied</span>
<span class="select3-multiple-selected-item highlight" data-item-id="ADDtab_138269500" data-popmodal_id="185">ADD ITEM</span>
<div data-popmodal_id="185" data-popmodal="open" class="popModal animated bottomLeft fadeInBottom"></div>
<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" class="select3-multiple-input" placeholder="" />
<span class="select3-multiple-input select3-width-detector"></span>
<div class="clearfix"></div>
</div>
</span>
</div>
</div>

此外,您真的不应该尽可能使用内联样式。如上例所示,将 CSS 规则提取到外部样式表。请注意 HTML 阅读和理解起来有多清晰。

最后,您的 HTML 当前无效,因为 div 元素不能是 span 元素的子元素。

关于javascript - Jquery Prev() 获取数据属性的最后 3 个标签名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47816461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com