Javascript 在div中选择未标记的文本
我有一个巨大的页面,有很多文本没有在文本标签中特别标记(h3,h1,p,随便什么)。所以,像这样的东西:Javascript 在div中选择未标记的文本,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个巨大的页面,有很多文本没有在文本标签中特别标记(h3,h1,p,随便什么)。所以,像这样的东西: <div class="class">Here's some text that really should be in a p tag, but oh well</div> var t = $("body").text(); var arr = new Array('P','SPAN','SCRIPT'); $(document).ready(function(
<div class="class">Here's some text that really should be in a p tag, but oh well</div>
var t = $("body").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));
});
}
这里有一些文本确实应该放在p标记中,但是哦
我希望能够使用jQuery一次选择所有这些文本,但我不知道如何选择不在文本特定标记中的文本。是否有一些隐含的标记或其他东西,这样我就可以像$('text')一样结束了?您可以通过类/元素选择器获取元素,即使它不是特定于包含文本的元素
$('.class').text();
$('div').text();
您可以通过类/元素选择器获取元素,即使它不是特定于包含文本的元素
$('.class').text();
$('div').text();
如果您愿意,您可以在
div
中获取“文本”,而不必考虑类。在本例中,我使用CSS影响文本
$('div').text(function(){
$(this).css('color', 'blue');
});
如果您愿意,您可以在
div
中获取“文本”,而不必考虑类别。在本例中,我使用CSS影响文本
$('div').text(function(){
$(this).css('color', 'blue');
});
据我所知,您希望获取页面中的所有文本,但它存储在具有不同id的不同标签中,因此遍历所有标签和id将是一项艰巨的任务 只需按如下方式获取所有文本:
<div class="class">Here's some text that really should be in a p tag, but oh well</div>
var t = $("body").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));
});
}
它将获得文档正文中的文本,而不考虑元素类型或ID
查看此提琴以供参考:据我所知,您希望获取页面中的所有文本,但它存储在具有不同id的不同标签中,因此遍历所有标签和id将是一项艰巨的任务 只需按如下方式获取所有文本:
<div class="class">Here's some text that really should be in a p tag, but oh well</div>
var t = $("body").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));
});
}
它将获得文档正文中的文本,而不考虑元素类型或ID
请参阅此提琴作为参考:使用JavaScript,您需要找到元素并获取: 使用jQuery,您可以使用以下方法:
使用JavaScript,您需要找到元素并获取: 使用jQuery,您可以使用以下方法:
您只需要获取标记中提供的文本,在这种情况下,$('body').text()或$('div').text()都会给出错误的结果,因为它们会给出其中的所有文本,无论子元素的标记是什么 您应该编写如下代码:
<div class="class">Here's some text that really should be in a p tag, but oh well</div>
var t = $("body").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));
});
}
您只需要获取标记中提供的文本,在这种情况下,$('body').text()或$('div').text()都会给出错误的结果,因为它们会给出其中的所有文本,无论子元素的标记是什么 您应该编写如下代码:
<div class="class">Here's some text that really should be in a p tag, but oh well</div>
var t = $("body").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));
});
}
可能重复您想选择div的部分内容还是整个内容?我想我没有问清楚。我本质上是在寻找一种方法来抓取文本周围的所有标签。也就是说,类似于$('h1,p,h2,h3,h4,a')。但是我没有听说过文本方法,所以谢谢大家!我认为我的解决方案就是浏览页面,仔细列出所有特定的div类(因为只做$('div'))加载需要一段时间。可能是重复的。你想选择div的部分内容还是整个内容?我想我没有问清楚。我基本上是在寻找一种方法来抓取文本周围的所有标记。例如,类似$('h1,p,h2,h3,h4,a')。但是我没有听说过文本方法,所以谢谢大家!我想我的解决方案就是浏览页面,仔细列出所有特定的div类(因为只加载$('div')需要一段时间。这没有意义吗?只需执行
$('div').css('color','blue'));
会做完全相同的事情吗?当然。这只是一个例子。OP可以在函数中做多种事情,但你是对的,你可以只做.css()
:),也许不是最好的例子。主要的一点是.text()
没有意义?只做$('div')。css('color','blue'));
会做完全相同的事情吗?当然。这只是一个例子。OP可以在函数中做很多事情,但是你是对的,你可以只做.css()
:),也许不是最好的例子。要点是.text()