问题:我正在从 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: Cannot read property 'text' of null”
我知道错误告诉我 $('#lblHRedeemEmailAddress')
正在返回一个空值。当然,我已经验证了我的元素名称是正确的。我还检查了 chrome 中的元素并验证它存在于文档中。这是文档中的 html:
<span id="lblHRedeemEmailAddress">name@domain.com</span>
< img src="sendemail.jpg" id="SendEmail" alt="Email Certificate" onclick="AccountHistoryRedeemSendEmail('lblEmail');">
所以,问题是:当我尝试从函数访问它时,为什么我的 lblHRedeemEmailAddress 元素为空?还有,我该如何解决这个问题?
最佳答案
如果 lblHRedeemEmailAddress
不存在,jQuery 将返回一个空结果集,您仍然可以根据它调用 text
。 $
可能指的是其他一些库,例如 prototype .
继续阅读 noConflict
或者创建一个闭包,其中 $
设置为 jQuery
:
(function($) {
// for anything in here, $ will be jQuery
})(jQuery);
关于javascript - jQuery 未捕获类型错误 : Cannot read property 'text' of null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26547324/