0

我创建了一个动态列表,并且需要能够在单击时选择两个跨度标签中保存的数据。到目前为止,我的代码是:

var app_data="<li class='auto' 
    data-short='"+this['dish_short']+"' 
    data-desc='"+this['dish_desc']+"' 
    data-dish_id='"+this['dish_id']+"'>
         <span class='m_name'>"+this['dish_name']+"</span> - £<span 
         class='m_price'>"+this['dish_price']+"</span>
</li>";

请注意,代码中的换行符是为了使其更具可读性,而不是全部在一行上。

我想做的是从每个跨度类中选择文本,尽管到目前为止,下面的代码正在选择所有文本,例如。菜名和菜价。

代码:

 $('li').click(function(){
    //alert($('li', this).data('short'));
    var m_name=$(this, 'span .m_name').text();
    console.log(m_name);
    });
4

2 回答 2

3

上下文部分作为第二个参数(即$(selector, context)),以及将m_name类设置为<span>元素,因此选择器中不应有任何空格:

var m_name = $("span.m_name", this).text();
于 2013-04-09T09:09:31.353 回答
3

对于创建的动态列表,用于.on评估点击或其他事件。

例子

$(document).on('click','li',function(){
   //code here
});
于 2013-04-09T09:10:21.787 回答