[英]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--cart
, not 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.