簡體   English   中英

jQuery的。 如何等於.text().val()

[英]jquery. how to equal .text() .val()

我需要等於兩個值,但這是行不通的。

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

$($(".ls-grid-body tr").children(".@vcTable.PrimaryKey")).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

為什么第一長度是41,為什么他們不相等...

怎么做?

試試這個:使用.trim()因為文本前后可能會有空格

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

$($(".ls-grid-body tr").children(".@vcTable.PrimaryKey")).each(function () {

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

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

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

   }
});

這是filter擅長的一類事情:

$(".ls-grid-body tr").children(".@vcTable.PrimaryKey").filter(function () {
   return $.trim($(this).text()) == rowID;
}).addClass("lst-state-selected");

筆記:

  • string.trim()並非在所有瀏覽器上都可用,因此請改用$.trim()
  • 您似乎有一個多余的$()包裝器。
  • 您在removeClassaddClass的元素之間似乎不匹配(tr vs tds)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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