不确定原因,但使用以下Html
<div id="basket" class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Basket</h3>
</div>
<div class="panel-body">
<div id="row-031d9f2b-c6e9-e311-827b-c8bcc8ef428f" class="row">
<div class="col-xs-8"><span id="qty-031d9f2b-c6e9-e311-827b-c8bcc8ef428f">5</span> <small>x</small> Match Night Ticket [Adult]</div>
<div class="col-xs-2 text-right">16.00</div>
<div class="col-xs-2"><a name="removeFromBasket" href="javascript:;" data-pid="031d9f2b-c6e9-e311-827b-c8bcc8ef428f"><span class="glyphicon glyphicon-remove text-danger"></span></a></div>
</div>
</div>
<div class="panel-footer">
<div class="row">
<div class="col-xs-8"><strong>Total</strong></div>
<div id="basket-total" class="col-xs-4">80.00</div>
</div>
</div>
</div>
我无法通过id qty-031d9f2b-c6e9-e311-827b-c8bcc8ef428f
获取范围的值我正在使用以下返回空字符串的javascript。我确定我错过了一些明显的东西,但看了一个小时左右并尝试了无数的变化后,我看不出我哪里出错了。
var qtyId = "qty-" + pid;
//var productRowId = "#row-" + pid;
alert($("#basket .panel-body " + qtyId).text());
上面脚本中的pid等于guid值031d9f2b-c6e9-e311-827b-c8bcc8ef428f
答案 0 :(得分:2)
将警报更改为:
alert($("#" + qtyId).text());
<强> jsFiddle example 强>
由于ID必须是唯一的,因此无需将它们链接到此处即可获得所需的ID。而且你必须记住使用#
作为ID的前缀。
答案 1 :(得分:1)
这是因为您将该元素称为顶级元素而不是ID。使用jQuery,没有.
或#
选择器,Sizzle选择器引擎假定您引用了一个元素,例如<div>
。
要解决您的问题,只需在以下位置添加ID选择器:
var qtyId = "qty-" + pid;
//var productRowId = "#row-" + pid;
alert($("#basket .panel-body #" + qtyId).text());
唯一的变化是在最后一行,我添加了#
。