如何将jQuery自定义属性值设置为Integer而不是String。 我想使用jQuery动态设置tabindex值。
<input tabindex=1 />
var allInputs = new Array();
$(':input').each(
function() {
allInputs.push($(this));
}
);
$.each(allInputs, function (i) {
var indexNumber = i + 1;
$(this).attr('tabindex', indexNumber );
});
此代码将值设置为“”中的字符串。
e.g <input tabindex="1" />
还有其他方法可以将值设置为整数,因此它将是
<input tabindex=1 />
/ Jivan
答案 0 :(得分:4)
在HTML中,attribute value is always a string。
即使您省略引号,也会假设它们在那里。
<input tabindex=1 />
严格精确与
相同<input tabindex="1" />
在渲染时,浏览器知道tabindex字符串值是一个数字并在内部进行解析。如果它不是数字,浏览器将忽略它。
事实上,建议始终使用引号。这就是为什么甚至设置属性值为整数(paseInt与否)时,浏览器会将其包装成引号..(甚至jQuery显式包装成引号)
不要担心引号,保持编码并感到高兴:)