如何将 alt attr 从转换后的对象获取到元素中



我想获取div 孩子的 alt,但控制台日志 $this.find 不是一个函数。

 const $ClickedCells = $(".board__cell--black");
  function pawnMove() {
    const $this = $(this)[0];
    const $thisPawn = $this.find("img");
    console.log($thisPawn);
  }
  $ClickedCells.on("click", pawnMove);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="board__cell--black"><img src="#" alt="lorem"></div>
<div class="board__cell--black"><img src="#" alt="lorem1"></div>
<div class="board__cell--black"><img src="#" alt="lorem2"></div>
<div class="board__cell--black"><img src="#" alt="lorem3"></div>
<div class="board__cell--black"><img src="#" alt="lorem4"></div>

通过这种方式,您正在获取没有 find 方法的 HTML 元素,即 jQuery 方法:

const $this = $(this)[0]; // returns the HTML element

将该行更改为:

const $this = $(this); 

你的错误就会消失。

你需要这样做:
当你执行$this = $(this)[0];时,你会得到没有定义查找的HTML元素。您需要在 $(this) 上调用 find((。 $(this)表示find()可用的jQuery元素。

const $ClickedCells = $(".board__cell--black");
function pawnMove() {
   //const $this = $(this)[0];//<---Comment out this line
   const $thisPawn = $(this).find("img");
   onsole.log($thisPawn[0].alt);
}
$ClickedCells.on("click", pawnMove);

最新更新