任何人知道如何从这个角度得到outerHTML?....如何在第一个jquery方法之后获取outerHTML?
$("#sectionA tr[data-testlog='"+variableName+"']").first().outerHTML;
返回一个未定义....
任何人知道如何从这个角度得到outerHTML?....如何在第一个jquery方法之后获取outerHTML?
$("#sectionA tr[data-testlog='"+variableName+"']").first().outerHTML;
返回一个未定义....
outerHTML
是DOM属性,因此你首先必须访问DOM元素包裹你的jQuery对象中
可以使用each
$(/*any jquery stuff*/).each(function(idx, domEl) {
console.log(domEl.outerHTML);
});
如果你硝酸钾这样做w ^,你有一个确切的匹配,或想只得到第一个元素,你应该做的:
$(SELECTOR)[0].outerHTML // or access any other **DOM** property
你的情况:
$("#sectionA tr[data-testlog='"+variableName+"']")[0].outerHTML
// first() would be redundant and unnecessary
基本上你能想到的jQuery对象作为一个包装围绕一系列DOM元素,增加了一大堆令开发人员开心的功能,并且功能跨浏览器兼容。
根据MDN outerHTML的支持:
Firefox (Gecko): 11 since 2012-03-13
Chrome: 0.2 since 2008-09-02
Internet Explorer 4.0 since 1997
Opera 7 since 2003-01-28
Safari 1.3 since 2006-01-12
或者为akluth建议你可以
// select your element
$(SELECTOR)
// clone it (outside the dom of the page)
.clone()
// wrap it in another element
.wrap('<div>')
// get the parent - basically the wrapper you just added
.parent()
// and get its inner html - all the html your SELECTOR initially selected
.html();
// all in one line
$(SELECTOR).clone().wrap('<div>').parent().html();
这将是jQuery的都做了更昂贵的操作等问题,但也将是一个交叉浏览器解决方案。 outerHTML
可能(或不可能)在所有浏览器/平台上同等支持。
好吧Matyas,这是一个很大的帮助 –
看看这个问题:http://stackoverflow.com/questions/2419749/get-selected-elements-outer-html – akluth