javascript - 通过常量类和动态 ID 来识别元素

标签 javascript jquery html

在我的网站中,我以这种方式设置了一些元素: 1.class='up' id='1' 2. class='up' id='2' 3. class='up' id='3' 4. class='up' id='4' 等等..(元素数量未知)

我的问题是尝试在 JavaScript 中识别它们时。我尝试使用以下代码(JQuery)来选择特定元素:

$('.up#'+ id)....

但是,这似乎失败了。您看到的 id 有一个变量传递到处理此问题的函数中。它是从点击事件传递的,并按如下方式设置:

$('.up').click(function(){
    some_function(this.id);
});

some_function 接受此 id,并且它是传递给它的唯一参数。

我不知道为什么失败,感谢您的帮助!

最佳答案

CSS idcannot start with a digit ,因此选择器 .up#1 无效(选择器 #1 也是如此)。如果您修改 id 值以字母开头(我通常使用 x 除非我有更有用的东西可以使用,例如 x1x2 等),这些选择器将起作用(当然,前提是这些元素在您使用选择器时存在)。

(这个数字是 CSS 限制;HTML 和 DOM 实际上并不关心您的 id 值是什么,只要它们是唯一的即可。)

<小时/>

旁注:您很少需要限定 id 选择器(使用标签名称、类等)。 id 值在页面上是唯一的,因此不需要进一步限定。有这样做的用例,主要是仅针对元素如果它也有给定的标签或类,如果没有,则忽略它,但 99.9%时间,你只需要#id

关于javascript - 通过常量类和动态 ID 来识别元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18868250/

相关文章:

javascript - 在多维数组上显示多个搜索结果

jquery - 如何将 nth-child 样式应用于过滤后的 div 集?

javascript - 如何将元素设置为固定全屏

html - 灰度 - 如何自动禁用它

javascript - 如何使用 Next Button 或 Tab 通向另一个 Form 创建多个表

javascript - Vue.js - onclick 事件不触发

javascript - Jquery:从数组中删除 ""值而不使用每个值

javascript - 在 TabBar 中移动选项卡时,组件生命周期 (ComponentDidMount) 不起作用?

javascript - 如何检测滚动位置以执行 jQuery

java - 正则表达式替换 HTML 字符串中的样式属性