lblHRedeemEmailAddress

lblHRedeemEmailAddress

问题:我正在从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 // } // ); }

返回的错误是:“未捕获的TypeError:无法读取null的属性'text'”

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

<span id="lblHRedeemEmailAddress">[email protected]</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);

09-27 07:21