替换方法不适用于浏览器,但适用于console.log

时间:2019-03-20 15:35:01

标签: javascript wordpress browser replace console.log

我正在尝试替换 Wordpress 网站中的多次匹配,因此,我做了以下操作:

window.onload = init;

function init()
{
    // get all the divs which have specific class names
    let divElems = 
    document.querySelectorAll(".vc_custom_heading.white.vc_gitem-post-data.vc_gitem-post-data-source-post_title");

    // loop on the divs
    for(let i = 0 ; i < divElems.length ; i++)
    {
        // get the first child of the div : a <h2>
        let titleElem = divElems[i].childNodes[0];
        // get the first child of the title : a <a>
        let linkElem  = titleElem.childNodes[0];
        // get the text content of the link
        let text      = linkElem.textContent;

        // replace the word test by nothing
        text = text.replace(/test/g, '');
        // all the occurrences of test have been removed in the console.log, but not in browser
        console.log(text);
    }
};

但是奇怪的是,替换方法在 console.log 中工作正常(我可以看到测试词已被删除),但在浏览器页面中没有任何更改!

有人有想法吗? :)

ArbreMojo。

1 个答案:

答案 0 :(得分:1)

您只是在更新变量值,所以它不会更新实际的元素内容。要使其正常工作,只需更新textContent属性即可更新元素内容。

text = text.replace(/test/g, '');
linkElem.textContent = text;