如果您在此处尝试此代码:
我正在尝试找到一个id为“test”的div,如果我找不到,我会创建它。问题是,如果我多次调用此函数,它会一直重新创建div:
var divClasses = $('#test');
if (divClasses.length==0) {
divClasses = $('<div />', { id:"test" }).appendTo('body');
console.log('anormal !');
}
怎么来的?
答案 0 :(得分:7)
您的键盘必须生成与预期不同的字符,'
或#
不正确。由于我的Chrome开发工具在玩这些角色时不断崩溃,所以无法确切地知道哪一个..
您可以看到'#test'
之间的区别encodeURIComponent('#test')
-> "%E2%80%AA%23test"
和#test
键入英文键盘
encodeURIComponent('#test')
-> "%23test"
我认为这可能就是开场白。
答案 1 :(得分:2)
我检查了你的jsfiddle。将单引号更改为双引号后,它就有效了。
var divClasses = $('#test');
到
var divClasses = $("#test");
答案 2 :(得分:1)
解决方案尝试this
if (!$('#test').length)
{
divClasses = $('<div />', { id:"test"}).appendTo('body');
console.log('anormal !');
}
尝试删除该div,它应该创建一个具有相同ID的新。
答案 3 :(得分:-1)
您可以将.append()
更改为html()
方法,该方法更适合您尝试执行的操作:http://jsfiddle.net/8BEpZ/4/
Et sinon,il fautvraimentarrêterdeplacer des styles directement avec JS,et encore moins des attributs de style HTML;)
答案 4 :(得分:-1)
试试这个:
var divClasses = $('#test');
if (divClasses == null) {
divClasses = $('<div />', { id:"test" }).appendTo('body');
console.log('anormal !');
}