我给你很多的id的是这样的:使用其中属性的ID相匹配的jQuery选择
$(".split").each(function(index) {
$(this).attr("id", index);
});
再后来在路上我试图选择这样的:
$("#id="+c)
但引发以下错误:
Error: Syntax error, unrecognized expression: #id=1
如何选择具有特定数字的ID?
我给你很多的id的是这样的:使用其中属性的ID相匹配的jQuery选择
$(".split").each(function(index) {
$(this).attr("id", index);
});
再后来在路上我试图选择这样的:
$("#id="+c)
但引发以下错误:
Error: Syntax error, unrecognized expression: #id=1
如何选择具有特定数字的ID?
你只需要#
标志:
$("#" + number);
与此更换ID选择:
$("#" + c)
换句话说,丢弃id=
在你的表达,因为正确的方式来选择元素的ID是用一个散列符号(#)作为前缀。
但我建议不要使用数字作为HTML元素的标识
,因为这是一个无效的CSS选择器。
我的建议是在它前面添加一个有效的标识符,以便更好地理解呈现的HTML,假设您从服务中动态检索的项目列表创建唯一ID。例如,
$(".split").each(function(index) {
$(this).attr("id", "row_" + index.toString());
});
,那么你会选择如下:
$("#row_" + c)
,比如说,看起来像这样(忽略我使用的DIV的事实)元素:
<div id="row_0">...</div> <div id="row_1">...</div> <div id="row_2">...</div> <div id="row_3">...</div> <div id="row_4">...</div>
更新:我原本说这些数字是无效的CSS选择器。下面的@acdcjunior发布了一条链接,使我的原始声明无效。我的意思是,你应该避免命名与数字项目,因为:
[使用唯一编号的ID是有效的HTML5。](http:// www。w3.org/TR/html5/dom.html#the-id-attribute)。 '#1'是一个无效的CSS选择器,是的,但它可以作为'#\ 31'转义,而Sizzle/jQuery支持'#1'。因此,你指向*,因为这是一个无效的CSS选择器*,充其量,是至关重要的。 – acdcjunior
感谢您的反馈。但为了可读性,我坚持原来的声明,用数字来命名事物并不是一个好主意。只因为你可以,并不意味着你应该。 –
建议不要使用纯数字ID没有问题。我认为重要的是要注意的是,你并不是在暗示,你所说的数字是无效的标识符,这并不意味着你的答案会丢失,因为它有其他的优点,但是这些信息是不正确的。 – acdcjunior
试试下面的代码: -
$( “#” +数据);
http://api.jquery.com/category/selectors/ – undefined
越位注释是使用数字'id'时,您将无法在CSS中使用id选择器,但在脚本代码中仍然可以使用。 –
请记住,一个有效的'id'不能以(或因此)为数字开头。 – iblamefish