首页 > 解决方案 > 无法获取 a 的 HTML 值

问题描述

所以有以下HTML代码:

<div id="hr">
      <script id="item-template" type="text/x-handlebars-template">
        <div class="card_wrapper col-md-4 col-sm-12">
          <div class="item_card">
            <div class="restaurant_name">
            <p>Empfang restaurant: <span class="decorated">{{cellsArray.[0]}}</span></p>
            </div>
            <div class="updated">
              Updated at: {{cellsArray.[1]}}
            </div>
            <div class="places_number">
            <p class="getme"> <span data-foo="0" class="places_number_from_google decorated">{{cellsArray.[2]}}</span> Places.</p>
            </div>
            <div style="background-color: red" class="places_number">
              <p> <span class="places_number_js"></span> Places.</p>
            </div>
            <div class="discount">
            <p><span class="decorated">{{cellsArray.[3]}} %</span> your Discount</p>
            </div>
            <div class="time">
              <p>Discount valid from <span class="decorated">{{cellsArray.[4]}}</span> till <span class="decorated">{{cellsArray.[5]}}</span> </p>
            </div>
            <div id="button" class="button" onclick="displayDiv()">
            <button class="btn btn-primary">Details</button>
            </div>
          </div>
          </div>
    </script>
    </div>

它从 Handelbars.js 库中获取一些 js 值。一切都以完美的方式显示。比,我想做的是获取 ap 标签的值。为此,有一些 js 代码:

var mySpreadsheet = 'https://docs.google.com/spreadsheets/d/1rz5ZHlJgbrAGDDXIMlwQRWPTdb57D1vV3EKHoWn_tR0/edit#gid=0';
// handlebars
var HRTemplate = Handlebars.compile($('#item-template').html());

$('#hr').sheetrock({
  url: mySpreadsheet,
  rowTemplate: HRTemplate
});

$(document).ready(function() {
  console.log("ready");
  var target = document.getElementsByClassName("getme");
  console.log(target);
  for (var k = 0; k < target.length; k++){
    console.log(target[k].innerHTML)
  }
});

这告诉控制台有一个长度为 0 的 HTML 集合,这很奇怪。但是,如果我在浏览器控制台中执行相同的代码,一切都会完美。输出如下:

HTMLCollection(4) [ p.getme, p.getme, p.getme, p.getme
 ]

​</p>

我在哪里面临错误?

标签: javascript

解决方案


你正在读这门课,它自己试试这个

$(document).ready(function() {
  console.log("ready");
  var target = document.getElementsByClassName("getme");
  console.log(target);
  for (var k = 0; k < target.length; k++){
    console.log(target[k][0].innerHTML)
  }
});

推荐阅读