包含字符“quot;的Div id&引用;jquery未选择
我有如下ID的div:包含字符“quot;的Div id&引用;jquery未选择,jquery,Jquery,我有如下ID的div: <div id="text.header" class="countDiv"></div> <div id="text.content" class="countDiv"></div> etc 然后我使用.html()将I的值写入div的id,方法是: for(var myCount = 0; myCount < array1.length; myCount++){ $("#" + array2[i]).ht
<div id="text.header" class="countDiv"></div>
<div id="text.content" class="countDiv"></div> etc
然后我使用.html()
将I
的值写入div的id,方法是:
for(var myCount = 0; myCount < array1.length; myCount++){
$("#" + array2[i]).html(array1[i]);
}
for(var myCount=0;myCount
问题是,在所有情况下都可以,但当我在ID之间使用
时,代码不起作用。控制台上未显示任何错误
当我使用时,它工作得很好,但当我使用时,页面是空白的。代码不起作用
我做错什么了吗?非常感谢您的帮助。
“.”是CSS中的类路径分隔符,因此显然不能在类名中使用
这是通过设计(CSS)。在jQuery(和CSS)中,
表示类选择器。考虑将其转移到<代码> \<代码>
$("#" + array2[i].replace(".", "\\."))...
如果查看结果选择器字符串的外观,您将看到这一行导致的问题:
$("#"+array2[i])
假设id是text.header
。查看结果选择器字符串将变成什么:
$('#text.header')
此选择器将匹配id为text
且类别为header
的元素。那不是你想要的。jQuery解决方案是转义dot,但更好的方法是只使用本机DOM方法并将其包装到jQuery对象中:
$(document.getElementById(array2[i]))
我没有在重复问题中看到这种方法,所以我不妨在这里发布。您提到了
myCount
,但没有使用它。
另外,jquery在id
中使用
时也会产生问题,因此请在此处使用javascript
进行查询
选择id
var array2=new Array();
var array1 = [1,2];
$(".countDiv").each(function(){
array2.push($(this).attr("id"));
});
for(i=0; i<array1.length; i++){
document.getElementById(array2[i]).innerHTML=(array1[i]);
}
var array2=新数组();
var array1=[1,2];
$(“.countDiv”)。每个(函数(){
array2.push($(this.attr(“id”));
});
对于(i=0;i您还需要转义反斜杠:\\。
当然可以。请参阅editOP在id属性中使用它,这很好。是的。但是jQuery将其识别为类名分隔符:想想$(“#test.header”)是什么
将选择,考虑到
通常在类名之前。+1用于将jQuery与DOM方法相结合:)
life saver!!!谢谢你,伙计…工作了。。达尼亚瓦德@非常欢迎。。。。
var array2=new Array();
var array1 = [1,2];
$(".countDiv").each(function(){
array2.push($(this).attr("id"));
});
for(i=0; i<array1.length; i++){
document.getElementById(array2[i]).innerHTML=(array1[i]);
}