我需要在此输入字段中替换占位符

时间:2017-07-13 15:03:57

标签: javascript input placeholder

我正在尝试将“搜索...”的占位符替换为其他内容。问题是 - 输入暂时没有加载,我无法弄清楚如何检测输入何时加载。这是页面链接,因此您可以看到其加载https://asahouston.org/membership/member-directory/

的方式

这是我尝试过的,但它似乎没有检测到输入字段。

<script type="text/javascript">
    document.addEventListener("load", function(){
        document.getElementsByClassName(".SFfndtag input[type=text]").placeholder = "Search for Company Name...";
    }
</script>

我尝试过其他一些东西,但我的javascript技能缺乏。我很感激你能提供的任何帮助。谢谢!

2 个答案:

答案 0 :(得分:1)

尝试更改

document.addEvenlistener('load'...

window.adEventListener('load'...

<强>的window.onload

默认情况下,它会在整个页面加载时触发,包括其内容(图像,css,脚本等)。在某些浏览器中,它现在接管了document.onload的角色,并在DOM准备就绪时触发

<强> document.onload

当DOM准备就绪时调用它,它可以在图像之前加载其他外部内容。

---编辑---

绝对不是最优雅的,但这应该可以解决问题。

var changePlaceholderInterval = setInterval(function () {changePlaceholder()}, 100);

function changePlaceholder() {
    if(document.querySelector('.SFfndtag input')){
        document.querySelector('.SFfndtag input').placeholder = "Search for Company Name...";
        window.clearInterval(changePlaceholderInterval);
    }
}

答案 1 :(得分:0)

使用attr for JQuery或setAttribute for Javascript:

<强> JQuery的

 $('.SFfndtag').attr("placeholder", "Search for Company Name...");

<强>的Javascript

document.getElementsByClassName("SFfndtag").setAttribute("placeholder","Search for Company Name..."); 

希望它对你有所帮助。