javascript - 为什么我无法通过 jQuery/JS 字符串插值找到 html 元素?

标签 javascript jquery html css

我有一系列的 div block ,每个 block 都有一个唯一的数字 id。

例如: enter image description here

作为我正在处理的元素的一部分,我想选择我选择的元素之后的第 29 个元素。因此,如果我选择了第一个 ID 为 1 的 div,那么我希望能够选择 ID 为 30 的 div。以下是我尝试使用第一个 div 执行此操作的方式:

let int = parseInt($('.blockattribute').first().attr('id')) + 29;
$('#' + toString(int);

这给了我以下错误:

 Uncaught Error: Syntax error, unrecognized expression: #[object Undefined]

不过这应该可行。通过执行 $('#30');,我可以选择我想要的 div。可能是什么问题?

最佳答案

您正在使用 Object.prototype.toString当你这样做时,它会返回 [object Undefined]

Object.toString(30);

您想使用 Number.prototype.toString()相反,你会这样做

let int = parseInt($('.blockattribute').first().attr('id')) + 29;
$('#' + int.toString());

但你真的不需要它,因为连接一个字符串和一个数字无论如何都会返回一个字符串

关于javascript - 为什么我无法通过 jQuery/JS 字符串插值找到 html 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40352777/

相关文章:

javascript - Chrome 首次双击

javascript - Dojo:循环中出现 'require' 是不是很糟糕?

javascript - 当元素的大小发生变化时,调整大小事件处理程序不会被调用

javascript - 使用 jquery 将属性附加到输入元素

javascript - 如何按正确的顺序设置图表饼图颜色?

javascript - 显示数据后合并边框

javascript - 如何制作视频链接的幻灯片显示?

javascript - 在搜索之前隐藏所有元素的搜索栏

html - 为什么我的 img 悬停不起作用?

c# - 如何格式化 mssql 日期时间列以仅在网页输入字段上显示时间?