如何选择具有相同类的下一个元素?

时间:2015-09-23 09:28:48

标签: javascript php jquery html ajax

我的问题由两部分组成:

  1. 如何选择具有相同类的下一个元素并隐藏前一个元素?
  2. 如何在每个输入中添加隐藏值,按下按钮的值?我们先说按下按钮,然后按“不”按钮。我想要' no'进入它输入问题的隐藏价值。怎么做?
  3. 非常感谢你。任何形式的帮助都将受到赞赏。

    这是我到目前为止所做的:

    HTML:

    
    
    $('.answer_buttons a').on('click', function(e){
        e.preventDefault();
        $('.selected').removeClass('selected').hide().next().show().addClass('selected');
        $.ajax({
            type: "POST",
            url: '',
            data: {},
            success: function(msj){
                //alert('test');
                //console.log(msj);
            }
        });
    });
    
    <form action="" method="post">
      <input name="intr1" value="" type="hidden">
      <p class="question selected" id="intreb_1">
        Intrebarea 1?</p>
      <input name="intr2" value="" type="hidden">
      <p class="question " id="intreb_2">
        Intrebarea 2?</p>
      <input name="intr3" value="" type="hidden">
      <p class="question " id="intreb_3">
        Intrebarea 3?</p>
      <input name="intr4" value="" type="hidden">
      <p class="question " id="intreb_4">
        Intrebarea 4?</p>
      <input name="intr5" value="" type="hidden">
      <p class="question " id="intreb_5">
        Intrebarea 5?</p>
      <div class="answer_buttons">
        <a class="nu" href=""></a>
        <a class="da" href=""></a>
      </div>
    </form>
    &#13;
    &#13;
    &#13;

1 个答案:

答案 0 :(得分:6)

您似乎想要选择当前.question元素的下一个兄弟.question.selected。为此,您可以使用.nextAll().first()方法:

$('.selected').removeClass('selected')
              .hide()
              .nextAll('.question')
              .first()
              .show()
              .addClass('selected');

要使用点击元素的input来更新之前className兄弟的价值,您可以使用.prev().val()方法。

$('.selected')...
              .addClass('selected')
              .prev('input')
              .val($(this).hasClass('nu') ? 'no' : 'yes');