0

我有一个页面,其中包含许多名为的 div .comment_holder,每个 div 都包含不同的 ID 号,例如

<div class="comment_holder" id="123"></div>
<div class="comment_holder" id="345"></div>

我想将 id 传递到我正在加载的页面中,该页面.comment_holder在执行操作时会附加 div。这是我正在尝试的:

$('.comment_holder').load('/pages/includes/wall.php', { 
    var wlid = $(this).attr("id");
    wl_id: wlid; 
});

但我得到:SyntaxError: missing : after property id

我应该怎么做?

4

4 回答 4

3

data参数不是正确的对象文字。 this也不在对象字面量的范围内,因此遍历为每个元素调用 load 函数的元素。使用传递给函数的元素来检索 id。

$('.comment_holder').each(function(index, elem){
   $(elem).load('/pages/includes/wall.php', { 
        wl_id: $(elem).attr("id") 
    });
});

类似的例子:http: //jsfiddle.net/qQ4Np/1/

于 2013-03-14T09:42:18.113 回答
0

或者,如果您想在页面加载时动态加载数据,则必须在循环 $.each() 中进行

$('.comment_holder').each( function(){ 
    var myId = $(this).attr("id");
    $(this).load('/pages/includes/wall.php', { 
        myId: myId; 
    });
});
于 2013-03-14T10:36:27.267 回答
0
$('.clicker').click( function(){ 
var myId = $(this).attr("id");

$('.comment_holder').load('/pages/includes/wall.php', { 
    myId: myId; 
});});

和wall.php:

$myId = $_POST['myId'];
于 2013-03-14T10:31:27.537 回答
-1

您不能在这样的对象文字中包含 var 语句。所以只需将 id 分配给对象属性

$('.comment_holder').load('/pages/includes/wall.php', { 
   wl_id: $("comment_holder").attr("id")
});

但是,如果您在该类中有多个元素,那将不起作用.comment_holder。所以我建议使用凯文的方法并循环收集。

于 2013-03-14T09:43:16.900 回答