如何检测 javascript 中某个元素的存在?
2012-07-30
166
var newHead = '<div id="head'+text+'"></div>';
var header = "head"+text;
if (document.getElementById(header) == undefined) {
//alert(document.getElementById("head"+text));
$("#result-job").append(newHead);
var result = '<div id="div' + dataSplit[0] + '"><input type="radio" checked="checked" class="choosenJob" name="rdb_job" value="' + dataSplit[0] + '" id="' + dataSplit[0] + '" /><label for="' + dataSplit[0] + '">' + dataSplit[1] + '</label><br /></div>';
$("div#" + header).append(result);
} else {
var result = '<div id="div' + dataSplit[0] + '"><input type="radio" checked="checked" class="choosenJob" name="rdb_job" value="' + dataSplit[0] + '" id="' + dataSplit[0] + '" /><label for="' + dataSplit[0] + '">' + dataSplit[1] + '</label><br /></div>';
$("div#" + header).append(result);
}
这些脚本能运行吗? 我想在结果 div 中添加一些新元素(div) 但我的脚本不起作用
fiddle 模拟: http://jsfiddle.net/86kH4/5/
3个回答
将
if (document.getElementById(header) == undefined) {
替换为
if ($("#" + header).length == 0) {
Nope
2012-07-30
您必须在 ID 周围添加一些引号,这样它才能正常工作。另外,删除
== undefined
,让 Javascript 检查它:
if (document.getElementById("header")) {
/* treatment */
} else {
/* treatment */
}
zessx
2012-07-30
这里你应该使用jquery函数“live” 例如:
$("div#" + header).live().append(result);
这个函数在添加元素时使用,附加创建的元素~~ 希望有用~~~
xiaohigh
2012-07-30