如何使用jQuery获取span元素的值

时间:2013-12-04 15:22:46

标签: jquery jquery-selectors spock geb

我有以下代码:

<tr>
<td Width="50%" align="left">
<span id="ctl00_lblTotalDesc">Ext. Subtotal</span></td>
<td Width="50%" align="right">
<span id="ctl00_lblTotalValue">100,087,000.00</span></td>
</tr>

我使用以下内容来获取第二个span元素的值:

spanValue = $('#ctl00_lblTotalValue').text();

但这似乎不适用于Spock / Geb。我收到以下错误:

TypeError: $(...).text is not a function

我做错了什么

如果我使用,我会收到以下错误,$('#ctl00_lblTotalValue')

[object HTMLTableElement]

Firefox控制台没用,所以使用Chrome控制台。

在Chrome中:如果我尝试$('#ctl00_lblTotalValue'),我会

<span id="ctl00_lblTotalValue">100,087,000.00</span>

但.text() - 给出了类型错误:对象#没有方法'text'

3 个答案:

答案 0 :(得分:1)

似乎你有另一个覆盖$函数的js框架。这意味着你必须使用jQuery('...')。你需要考虑的另一点是,据我所知,在我使用的所有js框架中,$函数都做同样的事情,但有时它会选择第一个匹配的html元素,然后输出如下:

[object HTMLTableElement]

这意味着html对象不是span元素。尝试:

$('#ctl00_lblTotalValue').length

如果结果大于1,则表示您有多个具有相同ID的html元素。

答案 1 :(得分:0)

试试这个:

$("span", id:"ctl00_lblTotalValuee").text()

假设值ct100是常量,并且不是由服务器端应用程序随机生成的。

答案 2 :(得分:-1)

“ctl00_lblTotalValue”是您分配给范围的ID,还是服务器端控件获取环境自动分配的ID?

例如,如果我在.NET aspx页面中有此代码

<div id="pnlHeader" runat="server"></div>

它在html页面中呈现为

<div id="ctl00_pnlHeader"></div>

如果是这种情况,我需要使用此语法

在jquery中获取它
$("#<%= pnlHeader.ClientID%>").text()

如果您是服务器端控件,则可能需要使用

获取文本
spanValue = $("#<%= lblTotalValue.ClientID%>").text();