Javascript jQuery元素数组';串
从给定的HTML中,我试图提取Javascript jQuery元素数组';串,javascript,jquery,html,Javascript,Jquery,Html,从给定的HTML中,我试图提取pText数组,这样我就得到了两个项(在本例中),我可以从中提取两个文本字符串“link test1”和“link test2”,并为它们中的每一个弹出一个警报。为什么下面的脚本不起作用 HTML: 测试1 测试2 Javascript: var pText = $('div').find('p'); for (i = 0; i < pText.length; i++) { alert(pText[i].text()); } var pText
pText
数组,这样我就得到了两个
项(在本例中),我可以从中提取两个文本字符串“link test1”
和“link test2”
,并为它们中的每一个弹出一个警报。为什么下面的脚本不起作用
HTML:
测试1
测试2
Javascript:
var pText = $('div').find('p');
for (i = 0; i < pText.length; i++) {
alert(pText[i].text());
}
var pText=$('div').find('p');
对于(i=0;i
因为您使用的是jQuery,如果您想使用.text()
方法,您必须提取jQuery对象并使用.eq(i)
而不是返回普通元素的[i]
以下是正确的代码:
var pText = $('div').find('p');
for (i = 0; i < pText.length; i++) {
alert(pText.eq(i).text());
}
var pText = $('div').find('p');
for (i = 0; i < pText.length; i++) {
alert(pText.eq(i).text());
}
text()
是用于jQuery对象的函数
通过在$(..)
更好的方法是使用.each()
尝试使用alert(pText.eq(i.text());而不是警报(pText[i].text())
jQuery代码将是
var pText=$('div').find('p');
对于(i=0;i
$.map($('divp'),函数(x){return$(x.text()}).forEach(警报)代码>
var pText = $('div').find('p');
pText.each(function(i, el) {
alert($(el).text());
});
alert($(pText[i]).text());
$('div').find('p').each(function(){
alert($(this).text());
});
var pText = $('div').find('p');
for (i = 0; i < pText.length; i++) {
alert(pText.eq(i).text());
}
$('#x').children('p').each(function() {
alert($(this).text()); // "this" is the current element in the loop
});