我有类似的东西
<ul>
<li class="aclass" id="a">content</li>
<li class="aclass" id="b">content</li>
<li class="aclass" id="c">content</li>
<li class="aclass" id="d">content</li>
<li class="aclass" id="e">content</li>
<li class="aclass" id="f">content</li>
</ul>
我有像
这样的代码$(".aclass").live("mousedown",function() {
alert($this.html());
});
这将提醒内容,我想做的是提醒整个元素,如
<li class="aclass" id="f">content</li>
我尝试过$(this).parent()但返回整个UL
答案 0 :(得分:6)
alert($(this).clone().wrap('<div/>').parent().html());
答案 1 :(得分:0)
alert($('<div/>').append($(this).clone()).html());
答案 2 :(得分:0)
要获取DOM-Node的html代码,您可以使用属性outerHTML
var html = document.getElementById('someId').outerHTML;
这可悲的是在firefox中没有用。但是您可以使用XMLSerializer来实现相同的结果。喜欢这个
var elm = document.getElementById('someId');
var xmls = new XMLSerializer();
var html = xmls.serializeToString(elm);
在你的jQuery代码中,这可能看起来像这样:
$(".aclass").live("mousedown",function() {
alert( this.outerHTML || new XMLSerializer().serializeToString(this) );
});