Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
225 views
in Technique[技术] by (71.8m points)

jquery - $(window).bind("load") and $(element).html in pure javascript

I am trying to change this jquery to pure 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;
    };
});

Unfortunately, the innerHTML function set the html of the element to be:

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

Any help appreciated.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

In the jQuery based code, you're looking for an element whose id is subContainer.

Assuming it works, the second one should be

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

Note that the first code is very bad, with a very strange element selection and an undeclared variable.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...