为什么可以';我不能使用jquery查找标签文本吗?

为什么可以';我不能使用jquery查找标签文本吗?,jquery,asp.net,Jquery,Asp.net,我用通配符选择它们,因为它在母版页中。val1工作得很好(文本框),但val2(标签)永远得不到我需要的东西。我还尝试了val2.text、val2.val、valueOf(val2)、val2.html、val2.attr(“text”)。我要么得到Object[Object],未定义,要么得到一些长函数字符串 $("[id$=HealthCareReimbursementPerPayPeriodTxt]").blur(function (evt) { try { val1 = (th

我用通配符选择它们,因为它在母版页中。val1工作得很好(文本框),但val2(标签)永远得不到我需要的东西。我还尝试了val2.text、val2.val、valueOf(val2)、val2.html、val2.attr(“text”)。我要么得到Object[Object],未定义,要么得到一些长函数字符串

$("[id$=HealthCareReimbursementPerPayPeriodTxt]").blur(function (evt) {
try {
    val1 = (this.value);
    alert(val1);
    val2 = $("[id$=HealthCareReimbursementNumPayPeriodsTxt]");
    alert(val2.value);
}
catch (e) { }
});


如果有帮助,我将在代码中设置此标签的文本,您需要更改此设置

<asp:Label ID="HealthCareReimbursementNumPayPeriodsTxt" runat="server">

jQuery选择器不会直接返回DOM对象。您还可以使用类选择器

val2 = $("[id$=HealthCareReimbursementNumPayPeriodsTxt]")[0];
试试这个:

$(function(){
    $(".healthCareReimbursementTotalTxt").blur(function (evt) {
    try {
        val1 = (this.value);
        alert(val1);
        val2 = $(".healthCareReimbursementTotalLbl")[0];
        alert(val2.value);
    }
    catch (e) { }
    });
});

您说过标签将被更改为
,而该标签没有
val
属性。我认为您需要使用
.html()
,因为您需要标记之间的文本

i、 e


val2=$(“[id$=HealthCareRegregatementNumpayperiodText]”)html()

或者
val2.html
或者
val2.text
应该可以工作
.val
仅适用于包含值(如HiddenFields)的输入和其他控件,而不适用于仅转换为HTML元素(如标签)的控件。

试试这个

val2 = $("[id$=HealthCareReimbursementNumPayPeriodsTxt]")[0].val();

这是一个
ClientID
问题吗?我不这么认为?我不确定它到底是如何工作的,但是如果我使用文本框的话,为什么标签会出问题呢?它们紧挨在一起。
val2
被设置为所有对象的数组,这些对象的ID以
HealthCareRegregatementPerPayPeriodTXT
结尾,但您包含的
的ID(
HealthCareRegregatementTotalBL
)与selector@jimmym715对不起,这是我问题中的一个错误,我已经修好了。这不起作用。它仍然得到了所有相同的结果,这让我相信它找到的标签很好。你需要使用
val2[0]。value
而不是
val2。value
这是文档就绪处理程序中的js代码,还是至少在标签定义之后定义的?我想一定是这样,否则它为什么会得到我的文本框?它们紧挨在一起。使用firebug或任何其他浏览器插件浏览html,并检查标签是否具有类
HealthCareRegregatementTotalBL
。这段代码相当标准,所以可能有些东西你没有告诉我
$(function(){
    $(".healthCareReimbursementTotalTxt").blur(function (evt) {
    try {
        val1 = (this.value);
        alert(val1);
        val2 = $(".healthCareReimbursementTotalLbl")[0];
        alert(val2.value);
    }
    catch (e) { }
    });
});
val2 = $("[id$=HealthCareReimbursementNumPayPeriodsTxt]")[0].val();
 $("[id$=HealthCareReimbursementPerPayPeriodTxt]").blur(function (evt) {
              try {
                  val1 = (this.value);
                  alert(val1);

                  // first try wether your are getting this elemnt or not 
                  alert($("[id$=HealthCareReimbursementNumPayPeriodsTxt]").length);
                  if ($("[id$=HealthCareReimbursementNumPayPeriodsTxt]").length > 0) {
                      alert("item found");
                      val2 = $("[id$=HealthCareReimbursementNumPayPeriodsTxt]");
                      alert(val2.val());
                      // if it does not work try
                     // alert(val2.html()); or alert(val2.text);
                  }
                  else {
                      alert("item not found");
                  }
              }
              catch (e) { }
          });