javascript - jquery 选择器元素 id 中的小数位

标签 javascript jquery

html代码是

<div class="content" id="content-27" data-id="27"> <h3 class="subsectionHead">
<span class="titlemark">26.1</span> 
<a id="x1-2800026"></a>Header and Footer for all pages</h3>

以下 jquery 代码有效并返回 27 作为 id。

$("#x1-2800026").closest("div").attr("id");

现在如果 html 是

<div class="content" id="content-27" data-id="27"> <h3 class="subsectionHead">
    <span class="titlemark">26.1</span> 
    <a id="x1-2800026.1"></a>Header and Footer for all pages</h3>

以下 jquery 代码不起作用...它返回未定义

$("#x1-2800026.1").closest("div").attr("id");

唯一的区别是小数点位置。第一种情况下的 id 为 #x1-2800026,第二种情况下的 id 为 #x1-2800026.1 这个额外的小数位似乎导致了问题。怎么解决这个问题?

最佳答案

由于选择器是一个 id,我们可以合理地假设属性选择器将为我们提供仅包含一个元素的集合。如果不是,您需要更正 html

console.log($("[id='x1-2800026.1']").closest("div").attr("id"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="content" id="content-27" data-id="27"> <h3 class="subsectionHead">
    <span class="titlemark">26.1</span> 
    <a id="x1-2800026.1"></a>Header and Footer for all pages</h3>
    </div>

关于javascript - jquery 选择器元素 id 中的小数位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50850540/

相关文章:

javascript - 光滑 slider - 更改输入焦点事件的可拖动状态

javascript - 将 d3.js Canvas 附加到 div

javascript - 如何查找具有某个 JQuery 类的 Div 数量?

javascript - 当输入字段中名称以 "#"符号开头时,如何使我的搜索字段按标签名称过滤图像

javascript - __doPostBack 只有在页面上有 LinkBut​​ton、Calendar 或 WizardStep 控件时才有效

javascript - 尝试从我放入纬度和经度数据的 URL 获取 JSON 时,脚本不起作用

jquery - 如何用jquery从右上角滑动一个div?

javascript - 如何跟踪打开的选项卡并在其关闭后执行某些操作?

javascript - 单击Buefy选项卡时如何触发方法?

javascript - 交叉过滤器和D3 : Filter by group AND dimension