我对JQuery有一个简单的问题
我有很多按钮,这些按钮将使用JSON Feed动态生成,而且这些按钮对于问题并不重要。
但是对于Feed中的每个项目,它会生成类似带有按钮的卡片和带有此项目ID的隐藏<p>
,简化了类似的内容:
<div>
<h3>ANA DOE<h3>
<!-- this p haves the id -->
<p hidden>001</p>
<a class='btn green-meadow btn-sm AceitaVistoria'>ACCEPT</a>
</div>
所以,当我点击按钮时,我需要使用隐藏p的id来使用后者,这是我正在做的事情:
$('.AceitaVistoria').click(function (newEvents) {
var idVistoria = $(this).prev().text();
});
但它不起作用,我该怎么办?
答案 0 :(得分:6)
为什么不添加id
作为链接的属性?
<div>
<h3>ANA DOE<h3>
<!-- this p haves the id -->
<a data-id="001" class='btn green-meadow btn-sm AceitaVistoria'>ACCEPT</a>
</div>
然后:
$('.AceitaVistoria').click(function (newEvents) {
var idVistoria = $(this).data('id');
});
答案 1 :(得分:2)
这是合适的(关键字:dynamicaly,因此在页面创建时不存在,永远不会获得点击监听器)
$(document).on("click",'.AceitaVistoria',function (newEvents) {
var idVistoria = $(this).prev().text();
});
答案 2 :(得分:0)
试一试。应该工作。
$('.AceitaVistoria').click(function() {
alert($(this).prev().html());
});
&#13;
<div>
<h3>ANA DOE<h3>
<!-- this p haves the id -->
<p hidden>001</p>
<a class='btn green-meadow btn-sm AceitaVistoria'>ACCEPT</a>
</div>
&#13;