我有一个很大的页面,其中有很多文本没有在文本标签中特别标记(h3,h1,p,等等)。所以,像这样的东西:
<div class="class">Here's some text that really should be in a p tag, but oh well</div>
我希望能够使用jQuery一次性选择所有这些文本,但我不知道如何选择文本特定标签中的文本。是否有一些隐含的标记或其他内容,以便我可以像$(&#39; text&#39;)一样调用它?
答案 0 :(得分:1)
您可以通过类/元素选择器获取元素,即使它不是特定于包含文本的元素。
$('.class').text();
$('div').text();
答案 1 :(得分:1)
如果这是您的愿望,您可以在div
内一般地抓取“文字”,无论是哪个班级。在这种情况下,我正在用CSS影响文本。
$('div').text(function(){
$(this).css('color', 'blue');
});
答案 2 :(得分:1)
据我所知,您希望获取页面中的所有文本,但它存储在具有不同ID的不同标记中,因此通过所有标记和ID将是一项大任务。
只需获取所有文字:
var t = $("body").text();
它将获取文档正文中的文本,无论元素类型或ID。
请参阅此小提琴以供参考:http://jsfiddle.net/7Xsxz/
答案 3 :(得分:1)
使用JavaScript,您需要找到该元素并抓住innerText:
var el = document.getElementsByClassName("class")[0];
var text = el.innerText;
使用jQuery,您可以使用.text()方法:
var text = $("div.class").text();
答案 4 :(得分:1)
你需要只获得标签中提供的文本,在那种情况下它不应该在那里$('body')。text()或$('div')。text()都会给你错误的结果,因为无论子元素的标签是什么,他们都会给你所有文本。
你应该编写类似这样的代码:var arr = new Array('P','SPAN','SCRIPT');
$(document).ready(function(){
getText($('body'));
});
function getText(obj){
obj.children().each(function(){
if(arr.indexOf($(this).prop('tagName'))==-1)
alert($(this).clone().children().remove().end().text());
getText($(this));
});
}