Lan*_*ard 13 html jquery selector
我曾经习惯于$("#parent").html()获取内部html #parent,但是如何获取父本身的html?
用例是,我抓住这样的输入节点:
var field = $('input');
Run Code Online (Sandbox Code Playgroud)
我希望能够获得该节点(<input type='text'>)的原始html field.html(),但是返回空.这可能吗?
Ric*_*ard 10
或者您可以创建添加如下的JQuery函数:
jQuery.fn.outerHTML = function(s) {
return (s)
? this.before(s).remove()
: jQuery("<p>").append(this.eq(0).clone()).html();
}
Run Code Online (Sandbox Code Playgroud)
所以你可以这样做:
$('input').outerHTML();
Run Code Online (Sandbox Code Playgroud)
要么
$('input').outerHTML("new html");
Run Code Online (Sandbox Code Playgroud)
感谢http://yelotofu.com/2008/08/jquery-outerhtml/
做起来有点尴尬:
var field = $("input"); // assuming there is but 1
var html = field.wrap("<div>").parent().html();
field.unwrap();
Run Code Online (Sandbox Code Playgroud)
html()与...相似innerHTML.没有"标准" outerHTML方法.上面将你想要的元素包装在一个临时元素中并获取innerHTML它.
这个问题非常陈旧,但现在有一个简单的解决方案:
const html = $('input').prop('outerHTML');
Run Code Online (Sandbox Code Playgroud)
示例字符串值html:
<input type ="input">
摆弄它:https:
//jsfiddle.net/u0a1zkL1/3
并且,Optimae评论中提到的技术也有效:
const html = $('input')[0].outerHTML;
Run Code Online (Sandbox Code Playgroud)