选择兄弟的文本

时间:2015-12-04 11:59:20

标签: javascript jquery

我对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();
});

但它不起作用,我该怎么办?

3 个答案:

答案 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)

试一试。应该工作。

&#13;
&#13;
$('.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;
&#13;
&#13;