如何从我的jQuery选择中提取HTML字符串?

时间:2015-06-08 22:00:28

标签: jquery

我的HTML代码构造方式如下:

var s = $('<input type="date" id="date-value"/>');

我想在我的jQuery选择中提取html,作为一个单独的元素:

 <input type="date" id="date-value"/>

我尝试了各种内置方法,例如s.text()s.innerHTML等,但它们没有用。

JSFiddle:http://jsfiddle.net/fkgaqtb2/

3 个答案:

答案 0 :(得分:1)

如果您想要选择器中的新元素,请使用jQuery&#39; .clone函数。 alert(s.clone().prop('outerHTML'));

这将输出看起来像你正试图进入小提琴的字符串。

在任何情况下,如果您只想要元素的字符串表示,请记住s是一个选择器,因此您需要jQuery的.prop方法。 你想要:
s.prop('outerHTML')

仅供参考,此版本的问题类似于another 记得HTML元素(不是jQuery选择,这就是我们需要prop的原因)也有outerHTML,而不仅仅是innerHTML

答案 1 :(得分:0)

创建一个临时div,然后克隆你的元素并附加到它:

alert($('<div>').append(s.clone()).html());

答案 2 :(得分:0)

如果你想要外部html,你可以使用:

var s = $('<input type="date" id="date-value"/>');
$('<div>').append(s.clone()).html();

或者如果您经常需要,可以添加新方法:

$.fn.outerHtml=function(){
    return $('<div>').append(this.clone()).html();
}

然后你可以使用:s.outerHtml();