附加到附加的元素

  • 本文关键字:元素 jquery bigcartel
  • 更新时间 :
  • 英文 :


我被难住了。我可以在函数中附加"新"div,但当我尝试用其他元素填充它们时,什么都不会发生。我认为这是因为#new实际上并不存在于DOM中,但我无法找出克服这一问题的语法。

function nearlyWorks(){
    // This bit works
    $('<div id="new"><div id="newInner"></div></div>').appendTo('#target');
    // But this bit doesn't
    for (var i = 0; i < array.length; i++){
        if (i==0){
            $('<span></span>').appendTo('#new');
        } else {
            $('<span></span>').appendTo('#newInner');
        }
    }
};

UPDATE:由于某些原因,无法在jsfiddle中重新创建我遇到的问题。我使用的是大卡特尔CMS,我只能猜测它在某种程度上是造成这个问题的部分原因——尽管我不知道如何解决。

我猜您的条件或循环有问题,因为追加是有效的。请参见此示例:http://jsfiddle.net/ZkNLL/

function nearlyWorks(){
    // This bit works
    $('<div id="new"><div id="newInner"></div></div>').appendTo('#target');
    // But this bit doesn't
    for (var x = 0; x < 5; x++){
        if (x%2 == 0){
            $('<span></span>').html("Something").appendTo('#new');
        } else {
            $('<span></span>').html("something else").appendTo('#newInner');
        }
    }
};

试试这个:

function nearlyWorks(){
    // This bit works
    var newBit = $('<div id="new"><div id="newInner"></div></div>');
    newBit.appendTo('#target');
    // But this bit doesn't
    for (the usual){
        if (condition){
            newBit.append($('<span></span>'));
        } else {
         newBit.find("#inner").append($('<span></span>'));
        }
    }
};

cz您的数组。length是emty值。。尝试使用一些数字数组将长度更改为2。试试这个。。

$('<div id="new"><div id="newInner">val</div></div>').appendTo('#target');
for (var i = 0; i < 2; i++){
        if (i==0){
            $('<span>'+i+'</span>').appendTo('#new');
        } else {
            $('<span>'+i+'</span>').appendTo('#newInner');
        }
    }

相关内容

  • 没有找到相关文章

最新更新