簡體   English   中英

JavaScript / jQuery查找字符串

[英]JavaScript/jQuery finding string

假設我有一個包含一些數據的表,並且我想在tbody查找特定的字符串,我得到了以下邏輯:

if ($('.table--cart tbody tr td')) { ... }

在表中,我檢查該td中是否有字符串str

if ($('.table--cart tbody tr td')[0].innerHTML.indexOf(str) !== -1)){ ... }

但是它並沒有按預期的那樣工作,當我在開發工具中搜索table--cartnot found返回,但是第一次檢查通過,導致undefined is not an object, evaluating $('.table--cart tbody tr td')[0].innerHTML.indexOf(str) !== -1的錯誤undefined is not an object, evaluating $('.table--cart tbody tr td')[0].innerHTML.indexOf(str) !== -1

我的第一次檢查錯了嗎? 顯然,我只想在第一個檢查為true時執行第二個檢查。

您的第一筆支票不正確。

$('.table--cart tbody tr td')

這將返回jquery原型。 您需要執行以下任一操作:

if ($('.table--cart tbody tr td')[0])

要么

if ($('.table--cart tbody tr td').length != 0)

原因是,像這樣的jquery選擇器:

$('#I-dont-exist')

仍然會返回jquery原型,這樣您仍然可以在選擇器找到0個元素的jquery對象上調用諸如parent()之類的東西。 如果您將其更改為我上面列出的任何一種方式,則第一次檢查應該是正確的。 我認為您的indexOf(str)並沒有達到您的期望。

編輯:另外,我認為您的評價應該是:

if ( $('.table--cart tbody tr td')[0].html().indexOf(str) !== -1 )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM