两个不同的Div具有相同的ID和类名称,其中一个是Work

时间:2017-11-03 14:45:44

标签: javascript jquery html

我有一个具有特定ID的div,例如:id="1"

我在课程的不同部分有另一个div,例如:class="1"

我使用以下jQuery来触发我的函数,这应该就像onClick on ID div一样,动作另一个具有相同ID的div有一个类。

  $('#2').on('click', function(ev) {
      $(".video, .2")[0].src += "&autoplay=1";
      ev.preventDefault();
    });

完美无缺。但是,我想让这个功能动态化。怎么样?

2 个答案:

答案 0 :(得分:3)

您可以使用this.id获取被点击元素的ID,并将其连接到选择器字符串。在这种情况下我也会使用attr("src", ...)来防止在页面中没有匹配元素的情况下出现JS错误(或者如果你仍然喜欢vanilla JS则检查这个条件)。

$('button[id]').on('click', function(ev) {
  var videoEl = $(".video ." + this.id);
  videoEl.attr("src", videoEl.attr("src") + "&autoplay=1");
  ev.preventDefault();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="video"><video class="2" src="video.mp4?"></video></div>

<button id="2">autoplay video</button>

答案 1 :(得分:0)

$(document.body).on('click', 'HERE_A_SELECTOR_FOR_ALL_THE_ELEMENTS_WITH_IDn', function(ev) {
  $(".video ." + ev.target.id)[0].src += "&autoplay=1";
  ev.preventDefault();
});