InnerHTML不起作用 - 高级功能

时间:2018-01-11 09:48:26

标签: javascript innerhtml getelementsbyclassname

我是JS的初学者。但是,经过几个小时,我真的很接近想要的结果。

我在头部

声明我的JS功能
function getPrice(price) {
var tabPrice = price.split("");
var html = "";
var virguleIndex = null;
for (var index = 0; index < tabPrice.length; ++index) {
    var priceNumber = tabPrice[index];
    if (priceNumber == ',') {
        virguleIndex = index;
        html += "<span class='p-c'>" + priceNumber + "</span>";
    } else if (priceNumber == '-') {
        html += "<span class='p-d'>" + priceNumber + "</span>";
    } else if (index > virguleIndex && virguleIndex != null) {
        html += "<span class='p-" + priceNumber + " p-small'>" + priceNumber + "</span>";
    } else {
        html += "<span class='p-" + priceNumber + "'>" + priceNumber + "</span>";
    }
}
var div = document.getElementsByClassName('price');
div[0].innerHTML = html;
}

和我身体部分的div

<div class="price"></div>

我做了一些测试 - 而且我的函数getPrice完全正常工作 https://image.noelshack.com/fichiers/2018/02/4/1515663887-functionwork.jpg

有些,唯一的失败(我认为)是innerHTML不起作用,不会在div类价格中写de var html内容。

在看了很多(很多)小时之后,我还没有想到。

你能帮帮我吗? 提前谢谢,

朱利

2 个答案:

答案 0 :(得分:0)

  By going through your image it is clear your DOM is not ready. So Please call your function inside this Block.
 (function() {
    // your page initialization code here
    // the DOM will be available here
    //Call Your function inside this block. it will work ex. getPrice("100");

 })();

答案 1 :(得分:0)

有些消息(我工作了几个小时),我检查了dom充电。我试过(感谢你回答)调用函数/转换代码和结束/强制加载dom之后的函数(使用document.addEventListener(“DOMContentLoaded”,function(event){)

控制台日志仍然有效。但是我的div仍然是空的:/

再次感谢!