我试图从给定的 HTML 中提取 pText
数组,所以我最终得到两个 <p>
项(在本例中),我可以从中提取两个文本字符串 "link test1"
和 "link test2"
,并为他们每个人弹出一个警报。为什么下面的脚本不起作用?
HTML:
<div>
<p><a href='/'>link</a> test1</p>
<p><a href='/'>link</a> test2</p>
</div>
Javascript:
var pText = $('div').find('p');
for (i = 0; i < pText.length; i++) {
alert(pText[i].text());
}
最佳答案
由于您使用的是 jQuery,如果您想使用 .text()
方法,您必须提取一个 jQuery 对象并使用 .eq(i)
而不是返回普通元素的 [i]
。
正确代码如下:
var pText = $('div').find('p');
for (i = 0; i < pText.length; i++) {
alert(pText.eq(i).text());
}
另外,您可以使用 .each()
方法(而不是 for
循环)简化您的代码,它为您的 jQuery 的每个元素调用一个给定的函数集合(pText
)。在我看来,这更容易,开始吧:
var pText = $('div').find('p');
pText.each(function(i, el) {
alert($(el).text());
});
关于javascript - jQuery 元素字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29723369/