你好,我对如何在jQuery(1.5.2)中使用 this 感到有点困惑。
对于嵌套评论帖,我正在导航到父评论的回复链接。我正试图抓住它,操纵字符串,并将其吐出页面上的其他地方。
这就是我穿越树到达目标的方式:
$('.commentlist > li > div .reply').each(function() {
此时我可以通过使用var reply = this;
来吞噬这整个div - 如果我只是克隆它就行得很好 - 但老实说我不知道如何获取这些信息并采摘只是完整的HTML字符串。
思想?
更新
你好。目标是将这个伙伴复制到每个匹配的简单字符串变量中:
<div class="reply">
<a class="comment-reply-link" href="http://someurl/foo/testing-post-four/?replytocom=5#respond" onclick='return addComment.moveForm("comment-5", "5", "respond", "8")'>Reply</a>
</div>
使用alert ($(this).html());
仅返回内部锚标记&amp;内容,而不是div包装器。想法?
答案 0 :(得分:6)
您可以将其克隆到另一个<div>
,然后在其上调用html()
:
var html = $('<div/>').append($(this).clone()).html();
答案 1 :(得分:3)
终于搞定了.. !!最简单的方法!!
HTML代码
<div class="extra-div">
<div class="div-to-pull-in-variable">
// Your Content Here
</div>
</div>
JQuery代码
$(function() {
var completeDiv = $('.extra-div').html();
alert(completeDiv);
})
});
答案 2 :(得分:2)
你可以得到父母......
<div class='a'>
blah
</div>
...
alert(jQuery('.a').parent().html())
答案 3 :(得分:0)
你可以......
$('body *').each(function() {
var outerHtml = $('<div />').html(this).html();
});
另请注意,IE具有原生outerHTML
属性。
答案 4 :(得分:0)
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.5.js"></script>
</head>
<body>
<div id="one" class="reply"><a href="#">reply link</a></div>
<div id="two" class="reply"><a href="#">reply link</a></div>
<div id="three" class="reply"><a href="#">reply link</a></div>
<div id="four" class="reply"><a href="#">reply link</a></div>
<script type="text/javascript">
$('.reply').each(function(n){
var reply = this;
// You can get attributes, classes, etc. like this
console.log('ID of this div is: ' + $(reply).attr('id'));
// You can change them like this
$(reply).attr('id', n + 1)
console.log('The new ID of this div is: ' + $(reply).attr('id'));
});
</script>
</body>
</html>