纯javascript中的$(window).bind(" load")和$(element).html

时间:2016-04-10 16:36:37

标签: javascript jquery

我正在尝试将此jquery更改为纯javascript:

var subContainerElement = $('#' + mainContainerId).find('#' + subContainer);

$(window).bind("load", function () {
    $(subContainerElement).html(function (index, text) {

        newParagraphText = text.replace("aaa", "bbb");
        return newParagraphText;
    });        
});

使用Javascript:

var subContainerElement = mainContainer.getElementsByClassName(subContainer)[0];

document.addEventListener("DOMContentLoaded", function(event) {

    mainContainer.getElementsByClassName(subContainer)[0].innerHTML = 
    function (index, text) {

        newParagraphText = text.replace("aaa", "bbb");                 
        return newParagraphText;
    };
});

不幸的是,innerHTML函数将元素的html设置为:

function (index, text) { ......

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

在基于jQuery的代码中,您正在寻找ID为subContainer的元素。

假设它有效,第二个应该是

var subContainerElement = document.getElementById(subContainer);
document.addEventListener("DOMContentLoaded", function(event) {
     var html = subContainerElement.innerHTML;
     html = html.replace("aaa", "bbb");
     subContainerElement.innerHTML = html;
});

请注意,第一个代码非常糟糕,有一个非常奇怪的元素选择和一个未声明的变量。