如果我有div
这样的元素:
<div id="someContents">
<p>Foo has the following properties</p>
<ul>
<li>Bar</li>
</ul>
<p>And some other stuff</p>
</div>
并声明:
var $someContents = $('#someContents');
然后我想声明一个现在的var,它将是一个String
,并且会在屏幕上看到包含换行符等的内容。
我尝试了各种JQuery方法......任何建议都值得赞赏。
答案 0 :(得分:2)
试试这个:
var now = $(someContents).find('*').text();
答案 1 :(得分:1)
var $someContents = $('#someContents').html();
alert($someContents);
这会获得所有HTML内容和收益:
var $someContents = $('#someContents').text();
alert($someContents);
这将获得所有内部文本内容和产量:
(function($){
$.fn.innerText = function(msg) {
if (msg) {
if (document.body.innerText) {
for (var i in this) {
this[i].innerText = msg;
}
} else {
for (var i in this) {
this[i].innerHTML.replace(/&lt;br&gt;/gi,"n").replace(/(&lt;([^&gt;]+)&gt;)/gi, "");
}
}
return this;
} else {
if (document.body.innerText) {
return this[0].innerText;
} else {
return this[0].innerHTML.replace(/&lt;br&gt;/gi,"n").replace(/(&lt;([^&gt;]+)&gt;)/gi, "");
}
}
};
})(jQuery);
var $someContents = $('#someContents').innerText();
alert($someContents);
这会获取所有内部文字内容(保留换行符)和收益率:
答案 2 :(得分:0)
这个问题已经回答here
一种简单的方法是创建html的临时克隆,将其放在另一个标记中并获取text
或html
内容。
$('<div>').append($('#xxx').clone()).html();