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) 但我的剧本没有用
答案 0 :(得分:2)
替换
if (document.getElementById(header) == undefined) {
与
if ($("#" + header).length == 0) {
答案 1 :(得分:0)
你必须在你的id周围添加一些引号,它会正常工作。另外,删除== undefined
,让Javascript检查一下:
if (document.getElementById("header")) {
/* treatment */
} else {
/* treatment */
}
答案 2 :(得分:0)
http://jsfiddle.net/Q98mv/ - 请将您的代码段与此代码段进行比较,您会发现问题所在
$('#chk1').click(function(){
var ada = "asd"; //ada here will be my dynamic parameters
var neww= '<div id="baru'+ada+'"></div>';
if($('#baru'+ada).length==0){
$("#asd").append(neww);
}else{
$("#baru"+ada).append("Hellow<br>");
}
});
答案 3 :(得分:0)
这里你应该使用jquery函数“live” 例如:
$("div#" + header).live().append(result);
添加元素时附加创建的元素~~使用此函数 希望它有用~~~
答案 4 :(得分:0)
正如我在评论中提到的,你的小提琴有一个语法错误,这就是为什么它“不起作用”。修复错误后,您将获得预期的行为:http://jsfiddle.net/fkling/86kH4/28/。
是,您可以使用
document.getElementById(header) == undefined
测试是否存在header
中包含ID的元素。
如果不存在此类元素,getElementById
将返回null
而null == undefined
将返回true
。考虑到这一点,如果您与null
进行比较,那将更加正确:
document.getElementById(header) === null
那就是说,既然你正在使用jQuery,我会尝试保持一致,而不是将它与简单的DOM方法混合使用。每个jQuery对象都有一个length
属性,其中包含所选元素的数量。所以jQuery的等价物是:
$('#' + header).length === 0
答案 5 :(得分:-1)
将此if (document.getElementById(header) == undefined) {
替换为if ($('#header') == undefined) {
它可能正常工作。顺便说一句,你错过了代码中标题的引号。