jQuery未捕获类型错误:无法读取属性'text'为null
jQuery Uncaught TypeError: Cannot read property 'text' of null
问题:我正在从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 += "×tamp=" + 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);