如何使用类获取跨度内的文本。 (for循环内部)

时间:2017-05-11 02:01:58

标签: javascript jquery for-loop innerhtml

我想在一个包含move类的范围内找到一个文本。所以当我点击按钮时,我试图使其成为一个类移动中的文本传递给函数 <div id="my-card"> <div class="card-container"> <div class="card"> <div class="moves"> <button> <span class="move">a</span> <span class="dp"></span> <img src="icons/fighting.jpg" alt="Pokemon move" /> </button> <button> <span class="move">b</span> <span class="dp"></span> <img src="icons/fighting.jpg" alt="Pokemon move" /> </button> <button> <span class="move">c</span> <span class="dp"></span> <img src="icons/fighting.jpg" alt="Pokemon move" /> </button> <button> <span class="move">d</span> <span class="dp"></span> <img src="icons/fighting.jpg" alt="Pokemon move" /> </button> </div> <img src="icons/fighting.jpg" alt="weakness" class="weakness" /> </div> </div> </div> 作为其中一个参数。附:给出了HTML代码,我无法对其进行任何更改。我的js代码有什么问题吗?错误消息显示“Uncaught TypeError:无法读取未定义的属性'innerHTML'。”

HTML代码的一部分;

   for(var i=0; i<4; i++){
               document.querySelectorAll("#my-card .moves button")[i].onclick = function(){ move(document.querySelectorAll("#my-card .moves .move")[i].innerHTML, gameID, playerID) };
     }

使用Javascript:

// Add this javascript to header.php(or equivalent file)...

jQuery( document ).ready(function() {
    var heights = jQuery(".col-eq-height").map(function() {
        return jQuery(this).height();
    }).get(),

    maxHeight = Math.max.apply(null, heights);    
    jQuery(".col-eq-height").height(maxHeight);
});

1 个答案:

答案 0 :(得分:2)

试试这个

unique_ptr

我将您的 for(var i=0; i<4; i++){ document.querySelectorAll("#my-card .moves button")[i].onclick = function(){ move(this.querySelectorAll(".move")[0].innerHTML, gameID, playerID) }; } 切换为document.querySelectorAll

下面是一个显示控制台结果的片段。

&#13;
&#13;
this.querySelectorAll
&#13;
for (var i = 0; i < 4; i++) {
  document.querySelectorAll("#my-card .moves button")[i].onclick = function() {

    console.log(this.querySelectorAll(".move")[0].innerHTML)

  }
}
&#13;
&#13;
&#13;