在我的网站中,我以这种方式设置了一些元素: 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,它是传递给它的唯一参数。
我不知道为什么会失败,谢谢你的帮助!
答案 0 :(得分:3)
CSS id
值cannot start with a digit,因此选择器.up#1
无效(选择器#1
也是如此)。如果您将id
值修改为以字母开头(我通常会使用x
,除非我有更多有用的内容,我可以使用,例如x1
,x2
等。) ,那些选择器将起作用(当然,前提是元素存在于您使用选择器时)。
(这个数字是一个CSS限制; HTML并且DOM实际上并不关心你的id
值是什么,只要它们是唯一的。)
旁注:您很难确定id
选择器(带有标签名称,类等)的资格。 id
值在页面上是唯一的,因此不需要进一步限定。有 这样做的用例,主要是仅针对元素,如果它也有给定的标记或类,如果没有,则忽略它,但是99.9%的时间,你只需要#id
。
答案 1 :(得分:0)
你应该在id
前放一个角色,就像这样。
<element id="e1" class="up">
$('#e' + id) //reference the element by id