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

时间:2014-09-23 11:03:43

标签: javascript jquery text

我需要等于两个值,但它不起作用..

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,为什么它们不相等...

怎么做?

2 个答案:

答案 0 :(得分:1)

试试这个:使用.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");

   }
});

答案 1 :(得分:0)

这是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)的元素之间存在不匹配。