2013-10-08 62 views
1

我想从jquery的跨度值的价值,但它显示了这样的如何获得跨度从jQuery的

TypeError: document.getElementById(...) is null 
    http://localhost:10489/YellowPages/YellowPageHome.aspx?Menu=menu_cat_3594 
    Line 328 

的errir我有这样

 <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。

+0

其中代码是在DOM准备处理 –

回答

1

你做错了准确

var averageRatingValue = document.getElementById('AvgRt_1').innerHTML; 

因为你不是ID AvgRt_1AvgRt_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; 
1

你可以简单地把它喜欢,你也可以使用Attribute Starts With Selector [name^="value"]

$('span[id^="AvgRt_1"]').text() or or $('span').html() 

对于Particulr跨度

$('span #SPANID').text() 
+0

在我的页面上有很多跨度运行,我想要得到的特定区间的文本 – Arunesh

+0

@Arunesh,您可以用' $('span #SPANID')。text()' – Satpal

2

首先,你的跨度有id该地连接了的DataItem的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(); 
2

你为什么不干脆把<%#DataBinder.Eval(Container, "DataItem.BusinessID")%>类?

然后,你可以这样做:

var businessId = '<%#DataBinder.Eval(Container, "DataItem.BusinessID")%>'; 
$('#AvgRt_1.' + businessId).text();