$('#'+ somestring)。什么都行不通?

时间:2016-11-06 09:52:08

标签: javascript jquery html web

下午,我正在动态编码的当前网站从服务器获取文章并将它们插入到滚动表中,但我有跟踪它们的问题

function addArticle() {

var div = document.createElement("div");

 var id="div"+count.toString();
 div.id=id;

 $('#'+id).load("http://localhost:8080/dog/demo.html"+count.toString(),function()   {});


 document.getElementById("newsfeed_table").rows[0].appendChild(div);
 count++;
}

现在,如果我将 all div的id设置为“div1”,那么文章会加载,如果我在这里做什么,$('#'+ id)它不起作用,它不会抛出错误,但上面是问题,因为我已经测试了字符串连接作为Jquery id在我的页面上的其他东西并且它失败了。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

jQuery selector $正在通过DOM找到你的选择器。您首先搜索不存在的选择器'#'+ id,然后将新创建的元素插入DOM。尝试交换此操作:

function addArticle() {

    var div = document.createElement("div");

    var id="div"+count.toString();
    div.id=id;

    document.getElementById("newsfeed_table").rows[0].appendChild(div);

    $('#'+id).load("http://localhost:8080/dog/demo.html"+count.toString(),function()   {});


    count++;
}

或尝试对GET https://api.jquery.com/jquery.get/使用普通的ajax函数,并在回调中将数据插入到新创建的元素中,然后将其插入到DOM中。

function addArticle() {

    var div = document.createElement("div");

    var id="div"+count.toString();
    div.id=id;

    $.get( "http://localhost:8080/dog/demo.html"+count.toString(), function( data ) {
        $( div ).html( data );
    });

    document.getElementById("newsfeed_table").rows[0].appendChild(div);

    count++;
}