2014-09-23 28 views
0

我需要等於二值,但它不會工作。jquery。如何平等的.text().VAL()

var rowID = $("#@idSelectObjectGuid").val(); 

$($(".ls-grid-body tr").children("[email protected]")).each(function() { 

    alert($(this).text() + " == " + rowID); 

    if ($(this).text() == rowID) { 

     $(".ls-grid-body tr").removeClass("lst-state-selected"); 
     $(this).addClass("lst-state-selected"); 

    } 
}); 

警報結果:

df5ebd84-14a1-4e57-9f38-32d4e84e1503 - 41 == df5ebd84-14a1-4e57-9f38-32d4e84e1503 - 36 

爲什麼第一lenght是41,爲什麼他們不等於...

如何做到這一點?

+0

是41你的長度?從你的代碼看起來是rowid – Tushar 2014-09-23 11:06:18

+0

@TusharGupta是'$(this).text()'* – andlrc 2014-09-23 11:13:48

回答

1

試試這個:使用.trim(),因爲可能之前有一個空格/文後

var rowID = $("#@idSelectObjectGuid").val().trim(); 

$($(".ls-grid-body tr").children("[email protected]")).each(function() { 

    alert($(this).text() + " == " + rowID); 

    if ($(this).text().trim() == rowID) { 

     $(".ls-grid-body tr").removeClass("lst-state-selected"); 
     $(this).addClass("lst-state-selected"); 

    } 
}); 
+0

的一部分謝謝,.trim()它是幫助:) – Elena 2014-09-24 04:15:21

+0

高興地幫助你:) – 2014-09-24 04:34:44

0

這是這種東西filter是良好的:

$(".ls-grid-body tr").children("[email protected]").filter(function() { 
    return $.trim($(this).text()) == rowID; 
}).addClass("lst-state-selected"); 

注:

  • string.trim()是否t可在所有瀏覽器上使用,因此請使用$.trim()而不是
  • 您似乎有一個冗餘的$()包裝器。
  • 您似乎在removeClassaddClass到(tr vs tds)之間的元素不匹配。