簡體   English   中英

如何從jQuery獲取span的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM