我创建了一个动态列表,并且需要能够在单击时选择两个span标记中保存的数据。到目前为止我的代码是:
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>";
请注意,代码中的换行符是为了使其更具可读性,而不是全部在一行上。
我要做的是从每个span类中选择文本,尽管到目前为止,下面的代码是选择所有文本,例如。菜名和菜价。
代码:
$('li').click(function(){
//alert($('li', this).data('short'));
var m_name=$(this, 'span .m_name').text();
console.log(m_name);
});
答案 0 :(得分:3)
上下文部分作为第二个参数(即$(selector, context)
),以及m_name
类设置为<span>
个元素,因此选择器中不应有任何空格:
var m_name = $("span.m_name", this).text();
答案 1 :(得分:3)
对于已创建动态列表,请使用.on
来处理点击或其他事件。
示例强>
$(document).on('click','li',function(){
//code here
});