【发布时间】:2018-12-18 13:47:27
【问题描述】:
我正在尝试创建一个字符串数组并使用 indexOf 函数检查 <td> 上是否存在文本,如果我希望它执行,否则什么都不做?
例如,<td> 上存在一个,因此 indexOf 识别出执行
问题是这段代码在我不使用数组时它正在工作的那一刻不起作用。
更新-感谢 indexOf 工作正常,但我在 var str 上使用数组的方式似乎不起作用。
HTML
<tbody>
<td><a href='#'>One</a></td>
<td>No.</td>
</tbody>
jQuery
var array = ['One', 'Two', 'Three', 'Four'];
var str = $('td:contains(" + array + ")').text();
if(array.indexOf(str) > -1){
console.log('Array works');
}
任何帮助将不胜感激
【问题讨论】:
-
请记住,
$('td').text()将返回页面上每个 td 的文本内容。"OneNo."在提供的情况下。 -
该数组似乎不适用于 var str = $('td:contains(" + array + ")').text();我用错了吗?如果我问的问题是基本的,我仍在学习抱歉。
-
str 命中 if 语句时的值是多少?
-
你可以打开控制台查看
'td:contains(" + array + ")'是什么。然后打开 jquery docs 检查包含选择器的工作方式。将整个数组传递给选择器将不起作用。 -
它可以是数组 ['One', 'Two', 'Three', 'Four' ....] 中的任何东西,因为
值改变了为什么我我正在尝试将其保留为数组。
标签: javascript jquery html