[英]How to get the value of span from jquery
我正在尝试从jquery获取span的值,但它显示了这样的错误
TypeError: document.getElementById(...) is null
http://localhost:10489/YellowPages/YellowPageHome.aspx?Menu=menu_cat_3594
Line 328
我有这样的跨度
<div class="RatingAggregate" style="height: 25px; width: 25px; margin: 5px;">
<span id="AvgRt_1<%#DataBinder.Eval(Container, "DataItem.BusinessID")%>">
<%#DataBinder.Eval(Container, "DataItem.Rating")%></span>
</div>
我想要这样的跨度值
var averageRatingValue = document.getElementById('AvgRt_1').innerHTML;
但是显示空错误。 在尝试学习jquery时,我可以这样做吗?
首先,您的跨度有一个id
,该id
连接数据项的businessID
:
<span id="AvgRt_1<%#DataBinder.Eval(Container, "DataItem.BusinessID")%>">
因此,该ID如下所示: AvgRt_1x
其中x
是您的BusinessID
其次:您没有使用您提到的jQuery。 只是纯Javascript。
var averageRatingValue = document.getElementById('AvgRt_1').innerHTML;
第三,如果您事先知道确切的id
,则必须通过硬编码值或通过变量来指定正确的id
:
$('#AvgRt_1' + variable).text();
为什么不只将<%#DataBinder.Eval(Container, "DataItem.BusinessID")%>
放在类中 ?
然后,您可以执行以下操作:
var businessId = '<%#DataBinder.Eval(Container, "DataItem.BusinessID")%>';
$('#AvgRt_1.' + businessId).text();
您可以像这样简单地获得它,也可以使用以选择器[name ^ =“ value”]开头的属性
$('span[id^="AvgRt_1"]').text() or or $('span').html()
对于颗粒跨度
$('span #SPANID').text()
你确实做错了
var averageRatingValue = document.getElementById('AvgRt_1').innerHTML;
因为您没有id AvgRt_1
但是它是AvgRt_1<%#DataBinder.Eval(Container, "DataItem.BusinessID")%>
因此,请尝试以下jQuery:
var averageRatingValue = $('span [id^=AvgRt_1]').html();
使用javascript:
//define var for that
var spanId = '<%#DataBinder.Eval(Container, "DataItem.BusinessID")%>';
var averageRatingValue = document.getElementById('AvgRt_1' + spanId).innerHTML;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.