[英]Jquery Contains:value, find text in table and return the td next to it
[英]Find td text in HTML table next to a td
我試圖在表td內的文本“我的元數據”的td旁邊找到文本。 我試圖遍歷表tds等來找到這個。 有沒有什么非常簡單的方法可以在td內的td內搜索帶有某些值的文本?
<table id="searchTable">
<tr>
<td>
My Metadata
</td>
<td>
I want to alert this td text which is next to td which has text My Metadata
</td>
</tr>
</table>
您可以使用:contains()
和next()
:contains()
選擇器,您可以獲取包含某些文本的元素。 next()
獲取它旁邊的兄弟姐妹。 var text = $('#searchTable td:contains(My Metadata)') // get td which contains the text .next() // get sibling next to it .text(); // get text content in it console.log(text);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <table id="searchTable"> <tr> <td> My Metadata </td> <td> I want to alert this td text which is next to td which has text My Metadata </td> </tr> </table>
filter()
var text = $('#searchTable td').filter(function() { return $.trim($(this).text()) == 'My Metadata'; // check trimmed content and filter based on that }) .next() // get sibling next to it .text(); // get text content in it console.log(text);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <table id="searchTable"> <tr> <td> My Metadata </td> <td> I want to alert this td text which is next to td which has text My Metadata </td> </tr> </table>
更新:如果html內容在變量中,則可以執行以下操作。
var content = `<table id="searchTable"> <tr> <td> My Metadata </td> <td> I want to alert this td text which is next to td which has text My Metadata </td> </tr> </table>`; var text = $(content).find('td:contains(My Metadata)') // get td which contains the text .next() // get sibling next to it .text(); // get text content in it console.log(text);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
您可以使用:contains
選擇器和next()
,如圖所示。
$('#searchTable td:contains("My Metadata")').next().text()
:contains("My Metadata")
選擇器將在#searchTable
文本My Metadata
#searchTable
中選擇td
,而.next()
將選擇它的下一個節點,而.text()
將在td中警告文本。
alert($('#searchTable td:contains("My Metadata")').next('td').text())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <table id="searchTable"> <tr> <td> My Metadata </td> <td> I want to alert this td text which is next to td which has text My Metadata </td> </tr> </table>
您可以使用:contains()
選擇器選擇包含指定字符串的所有元素作為innerText,然后使用next()
獲得該元素的下一個同級元素。
$('td:contains("My Metadata")') // Select `<td>` that contains the passed string
.next() // Get the immediate next sibling
.text(); // Get inner text
alert($('td:contains("My Metadata")').next().text().trim());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table id="searchTable"> <tr> <td> My Metadata </td> <td> I want to alert this td text which is next to td which has text My Metadata </td> </tr> </table>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.