javascript - jQuery 元素字符串数组

标签 javascript jquery html

我试图从给定的 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/

相关文章:

javascript - 从不同页面重定向到页面上的特定选项卡

jquery - DocType 未显示在 JSF 的渲染输出中

javascript - Select2.js 和 jQuery slideDown 动画滞后/抖动

html - 使隐藏的标题仅出现在较小的屏幕上

javascript - 使用 Javascript 从我的 Windows URL 获取基本 URL 和文件路径

javascript - 按钮上的单击事件禁用所需 html 的默认行为

javascript - 如何显示错误消息,直到输入(文本)的 URL 格式正确?在 Angular js 中

javascript - 如何上传文件到服务器?

javascript - 获取点击的表格行元素值

javascript - 如何使用 JavaScript 在 Canvas 中单击一个圆圈