1

我有一个使用 jQuery Mobile 的 ul>li 结构,如下所示:

<div>
<ul  data-role="listview">
  <li><a href="#" class="FoodDrinkItem">Hamburger<p class="FoodDrinkPrice">$9.00</p></a></li>
  <li> <a href="#" class="FoodDrinkItem">Club Sandwich<p class="FoodDrinkPrice">$7.00</p></a></li>
</ul>
</div>

当我单击特定的 li 时,我想获得该项目的价格。我想使用类来执行此操作,因为之后它更容易扩展。

$(document).ready(function(){
    $(".FoodDrinkItem").click(function(){
        var price = $(".FoodDrinkPrice").text();
        $("#PopupFoodDrinkPrice").text(price);
    });
});

如何获取所选li 的 className.text()?

4

3 回答 3

2

如果我理解正确,这将起到作用:

$(this).find(".FoodDrinkPrice").text()
于 2013-05-18T18:28:06.483 回答
2

工作示例:http: //jsfiddle.net/Gajotres/VWkm9/

$(document).on('click', 'ul li', function(){ 
    alert($(this).find('.FoodDrinkPrice').text());
});     

你的结构中有两个错误:

这个:

<div data-role="listview">
<ul>

应该是这样的:

<div>
<ul data-role="listview">

data-role="listview"必须放在ul标签内,否则listview将无法正确设置样式。

并且您的 p 标签未正确关闭。

于 2013-05-18T18:30:26.837 回答
0

.price您正在引用在代码执行中调用的不存在的类。您应该给每个<li>人一个唯一的 ID 并以此来引用它们。

于 2013-05-18T18:28:06.543 回答