以下是问题的描述。我有父div(allcomments_4),而在里面,我有几个子div(oneEntry),里面有自己的孩子,但我只需要找到父节点的最后一个子节点(allComments_4)。我想读取div(lastComment)里面的内容,而不是将它添加到这个div之上,它与使用jquery的div(oneEntry)类似。我想使用ID而不是类来进行此操作。因为我计算allComments_4 div的id。我试过这样的。
<script>
var allcommentsId =allcomments_4
var right = "div#lastComment"
var left = '#'+allcommentsId
var message = $(left>right ).html()
alert(message)
</script>
<div id="allcomments_4">
<div class="oneEntry">
<div class="commentImage">
</div>
<div class="commentEntry">
<div class="commentText">
</div>
<div class="commentDate">
Commented On -"Thu Jan 26 16:44:16 EST 2012"/>
</div>
</div>
<div class="oneEntry">
<div class="commentImage">
</div>
<div class="commentEntry">
<div class="commentText">
</div>
<div class="commentDate">
Commented On -"Thu Jan 26 16:44:16 EST 2012"/>
</div>
</div>
</div><!-- One Comment Entry Ends here -->
<div id ="lastComment">
</div><!-- last Comment ends here -->
</div><!-- All Comments Ends here -->
我觉得遗漏了一些东西而且我很抱歉这个蹩脚的问题,因为我是jquery的初学者和整个javascript的东西。
答案 0 :(得分:1)
如上所述,ID必须是唯一的。话虽这么说,这是一种方法来完成你的要求(在适当的地方使用类):
function displayContent(IdNum) {
var Id = '#allcomments_' + IdNum;
var $lastComment = $(Id).find('.lastComment');
var message = $lastComment.html();
alert(message);
}
displayContent(4);
HTML w / classes(供参考):
<div id="allcomments_4">
<div class="oneEntry">
<div class="commentImage">
</div>
<div class="commentEntry">
<div class="commentText">
</div>
<div class="commentDate">
Commented On - "Thu Jan 26 16:44:16 EST 2012"
</div>
</div>
</div>
<div class="oneEntry">
<div class="commentImage">
</div>
<div class="commentEntry">
<div class="commentText">
</div>
<div class="commentDate">
Commented On - "Thu Jan 26 16:44:16 EST 2012"
</div>
</div>
</div><!-- One Comment Entry Ends here -->
<div class="lastComment">
Body of lastComment
</div><!-- last Comment ends here -->
</div><!-- All Comments Ends here -->
jsFiddle:http://jsfiddle.net/yT8Fc/
答案 1 :(得分:0)
var message = $(left>right ).html()
这不起作用,因为它给出比作为参数更大的结果。它看起来像这样:
var message = $(left + ' > ' + right).html()