0
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),但我的脚本不起作用

小提琴模拟:http: //jsfiddle.net/86kH4/5/

4

6 回答 6

2

代替

if (document.getElementById(header) == undefined) {

if ($("#" + header).length == 0) {
于 2012-07-30T09:43:12.213 回答
0

在这里,您应该使用 jquery 函数“live”,例如:

$("div#" + header).live().append(result);

这个函数是在添加元素的时候使用的,追加创建的元素~~希望有用~~~

于 2012-07-30T09:51:34.970 回答
0

正如我在评论中提到的,您的小提琴有语法错误,这就是它“不起作用”的原因。修复错误后,您将获得预期的行为:http: //jsfiddle.net/fkling/86kH4/28/


的,你可以使用

document.getElementById(header) == undefined

测试 ID 包含 in 的元素是否header存在。

如果不存在这样的元素,getElementById将返回nulland null == undefinedis true。考虑到这一点,如果您与以下内容进行比较会更正确null

document.getElementById(header) === null

也就是说,由于您使用的是 jQuery,我会尽量保持一致,而不是将其与普通的 DOM 方法混合。每个 jQuery 对象都有一个length包含所选元素数量的属性。所以 jQuery 等价物是:

$('#' + header).length === 0
于 2012-07-30T10:02:31.697 回答
0

您必须在您的 id 周围添加一些引号,它会正常工作。另外,删除== undefined,让 Javascript 检查它:

if (document.getElementById("header")) {
   /* treatment */
} else {
   /* treatment */
}
于 2012-07-30T09:30:58.127 回答
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>");
    }
})​;
于 2012-07-30T09:46:06.103 回答
-1

if (document.getElementById(header) == undefined) {用它替换if ($('#header') == undefined) {它可能会正常工作。顺便说一句,您错过了代码中标题的引号。

于 2012-07-30T09:33:20.053 回答