首页 > 解决方案 > 将其推入数组 onClick

问题描述

当我执行 onClick 事件时,我正在尝试将数据推送到数组中。

function clickCard() {
    $(document).on('click', '.card', function() {
        $(this).addClass('visible');

        var cardValue = $(this).attr('src');
        matchOrNot.push(cardValue);

    })
}

我正在尝试将图像的 src 放入数组中,它需要是我单击的特定图像(this)。希望这是有道理的。

当我尝试这个时,我得到了变量 matchOrNot 的“未定义”。

如果我使用符号 [0] 定位选择器,则此功能有效,但我想得到它。

有任何想法吗?

标签: javascriptjqueryarrays

解决方案


像这样的东西?

var A = []

  $('.card').on('click', e => {
      let $this = $(e.currentTarget)
      $this.addClass('visible')
      let cardValue = $this.attr('src');
      A.push(cardValue);
      
      console.log(A)
  })
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<img class="card" src="https://dummyimage.com/100x100/000/fff" />
<img class="card" src="https://dummyimage.com/100x100/fff/000" />

更新:

看到你的代码后,我遇到了问题。NotmatchOrNot是未定义的,而是src属性,因为您当前的目标不是图像而是外部div. 您需要先在其中找到图像:

$this.find('img').attr('src')

推荐阅读