【问题标题】:I need to replace the placeholder in this input field我需要替换此输入字段中的占位符
【发布时间】:2017-12-18 11:11:15
【问题描述】:

我正在尝试将显示“搜索...”的占位符替换为其他内容。问题是 - 输入暂时没有加载,我不知道如何检测输入何时加载。这是页面链接,您可以查看它的加载方式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 技能。我将不胜感激您能够提供的任何帮助。谢谢!

【问题讨论】:

标签: javascript input placeholder


【解决方案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);
    }
}

【讨论】:

  • 覆盖onload 事件绝不是一个好主意。请改用addEventListener
  • 这是我尝试过的 'window.addEventListener("load", function load(event){ var mrVariable = document.querySelector(".SFfndtag input[type=text]"); window. removeEventListener("load", load, false); //移除监听器,不再需要 mrVariable.innerHTML = "changed content"; },false);'控制台中的返回是 'Uncaught TypeError: Cannot set property 'innerHTML' of null' 这告诉我 window.addEventListener 在所有内容加载后没有加载 - 它看起来像之前加载。
  • @GordonSmith 我已经用一个新的解决方案编辑了我上面的答案,它应该可以为你解决问题。
  • @ChrisWright 做到了。完美的!谢谢,谢谢!
【解决方案2】:

将 attr 用于 JQuery 或 setAttribute 用于 Javascript:

JQuery

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

Javascript

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

希望对你有所帮助。

【讨论】:

    猜你喜欢
    • 2020-08-28
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 2019-02-10
    相关资源
    最近更新 更多