[英]finding a specific td and assign the value to a text input using jquery
因此,我試圖遍歷表並在td中查找特定文本並將其分配給變量。 這是我到目前為止的內容:
var table = $(this).closest('table');
$("td",table).each(function(){
if($(this)+':contains("AD Login")') console.log($(this).next().text());
});
但是,此代碼將所有單元格打印到控制台,而不是找到的單元格的同級
將.is()
函數與:contains
選擇器一起使用(已添加jQuery版本:1.1.4 )。
$("td",table).each(function(){
if($(this).is(":contains('AD Login')")) console.log($(this).next().text());
});
.contains()
不適用於此處,因為它只能檢查DOM元素是否是另一個DOM元素的后代。 (通過API)。 關於您在注釋中寫的內容-它始終返回true,因為您只是將$(this)
的字符串值連接到另一個字符串(“:contains etc.”)。 轉換為布爾類型時,字符串立即數始終為true。
jQuery有一個包含選擇器http://api.jquery.com/contains-selector 。
范例:
var table = $(this).closest('table');
table.find('td:contains("AD Login")').each(function(){
console.log($(this).next().text());
});
假定jQuery的“較舊”版本(從注釋到另一個答案):
$("td",table).each(function(i,el){
if ((el.textContent || el.innerText) == 'AD Login') {
console.log($(this).next().text());
}
});
上面的代碼將測試td
的文本是否與字符串完全相同(“ AD Login”),以檢查該文本是否僅存在於td
的文本中:
$("td",table).each(function(i,el){
if ((el.textContent || el.innerText).indexOf('AD Login') > -1) {
console.log($(this).next().text());
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.