簡體   English   中英

查找特定的td並將值分配給使用jquery的文本輸入

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

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