Класс jQuery DOM

#jquery #html

#jquery #HTML

Вопрос:

У меня есть следующее:

 $(".action_btn").click(function(){

}

echo '<a class="saved action_btn x" mid="' . $itemId['MID2'] .'">Saved</a>';
          }else
            echo '<a class="save action_btn" mid="' . $itemId['MID2'] .'">Save</a>';

          echo '<a class="action_btn recommend_btn" act="recommend" href="recommend.php?mid='. $recommended_movie['MID'] .'">Recommend</a>';
  

У меня есть три разных <a> тега, однако я хочу, чтобы для выполнения этого jQuery использовался только тот, у которого есть class class="action_btn recommend_btn" . Есть ли способ сделать это?

Ответ №1:

 $(".action_btn.recommend_btn").click(function(){
    // ...
}
  

Дополнительные сведения о селекторах классов см. в w3c и jQuery api.

Ответ №2:

вы можете указать через запятую таким же образом, как вы это делали

 $(".action_btn.recommend_btn").click(function(){

}
  

Комментарии:

1. Разве это не был бы множественный селектор , который предназначался бы для всех элементов с class="action_btn" или class="recommend_btn" , в отличие от элементов с обоими class="action_btn recommend_btn" ?

2. Нет, это позволило бы выбрать все с любым из классов, вопрос заключался в том, чтобы выбрать только элементы с установленными обоими классами.

Ответ №3:

Измените привязку клика на:

 $(".action_btn .recommend_btn").click(function(){

}
  

Комментарии:

1. @scolbal, я думаю, нам нужна запятая или без пробела ,

2. Без пробела. Пространство фактически является селектором-потомком .

3. Нет, это позволило бы выбрать все .recommend_btn с предком .action_btn .

4. Мой плохой, действительно должен протестировать перед публикацией!