jQuery未捕获类型错误:无法读取属性'text'为null

jQuery Uncaught TypeError: Cannot read property 'text' of null

本文关键字:属性 text null 读取 类型 错误 jQuery      更新时间:2023-09-26

问题:我正在从ajax调用加载模式表单。在模态中,我有一个span元素,其中包含一个电子邮件地址。我需要捕获javascript中span元素的值。目前,我有一个按钮点击,调用一个函数来获取文本。

读取文本的代码: function AccountHistoryRedeemSendEmail(emailType) { clearNotifications(); console.log('Hit AccountHistoryRedeemSendEmail'); var url = "../../utility/account/ajaxAccountHistoryRedeemSendEmail.aspx"; var params = "eType" + emailType; //console.log($('#lblHRedeemEmailAddress')); console.log('Output text: ' + $('#lblHRedeemEmailAddress').text()); params += "&HRedeemEmailAddress=" + $("#lblHRedeemEmailAddress").text(); params += "&timestamp=" + new Date(); // new Ajax.Request( // url, // { // method: "get", // parameters: params, // onSuccess: parseAjaxResponseAccountHistoryRedeemSendEmail // } // ); }

返回的错误为:"Uncaught TypeError:无法读取null的属性'text'"

我知道错误告诉我 $('#lblHRedeemEmailAddress') 返回了一个null。当然,我已经验证了我的元素名称是正确的。我还检查了铬元素,并验证了它是否存在于文件中。这是文档中的html:

<span id="lblHRedeemEmailAddress">name@domain.com</span>

< img src="sendemail.jpg" id="SendEmail" alt="Email Certificate" onclick="AccountHistoryRedeemSendEmail('lblEmail');">

那么,问题是:当我试图从函数访问lblHRedeemEmailAddress元素时,为什么它为null?我该怎么解决这个问题?

如果lblHRedeemEmailAddress不存在,jQuery将返回一个空的结果集,您仍然可以在该结果集上调用text$可能是指其他一些库,比如prototype。

读取noConflict或创建一个闭包,其中$设置为jQuery:

(function($) {
   // for anything in here, $ will be jQuery
})(jQuery);
相关文章: