【问题标题】:Change placeholder of input within an iframe更改 iframe 中输入的占位符
【发布时间】:2013-11-22 19:26:09
【问题描述】:

使用 Tumult Hype,我构建了一个日期范围选择器,我目前正在向它添加功能......但是,Hype 喜欢将它的 HTML sn-ps 放入 iFrames。

我在定位 iframe 中的输入字段时遇到问题,因此我可以用当前年份填充它。我也无法在 Hype 中为 iframe 提供 ID。

输入的路径是这样的:

#startyear > div > #start-year-text > iframe > html > body > input#start-year-placeholder

显然,使用 jQuery,这是行不通的:

$("#start-year-placeholder").attr("placeholder","1973");

也不这样做:

$("#startyear > div > #start-year-text > iframe > html > body > input#start-year-placeholder").attr("placeholder","1973");

从下面链接的网页中,您将看到第一个日期范围选择器。我正在尝试动态设置第一年输入的占位符文本属性。现在它是硬编码的。

您可以在此处查看完整的 HTML: http://aceroinc.ca/question/footer.html

【问题讨论】:

    标签: jquery iframe input placeholder targeting


    【解决方案1】:

    你可以这样定位它:

    $('iframe').contents().find('input#start-year-placeholder')

    注意:这适用于您的页面,但通常如果您要添加更多 iframe,您可能需要调整 iframe 选择器。此外,这仅适用于 iframe 与父页面的域相同。

    【讨论】:

    • 当我尝试这个时:$('iframe').contents().find('#start-year-placeholder')attr("placeholder","1973"); 我得到一个 *Uncaught SyntaxError: Unexpected identifier * 错误。
    • 你错过了attr之前的点
    • @livi1717 应该是$('iframe').contents().find('input#start-year-placeholder').attr("placeholder","1973"‌​);
    • 哎呀。 OK,加点后没有报错,但是占位文字没有变化。
    • 嗯,好吧,当我转到您的页面并将其放在 js 控制台中时,我看到它正在发生变化。也许您应该提供有关如何尝试调用代码的更多详细信息?跨度>
    猜你喜欢
    • 2021-06-15
    • 2021-05-08
    • 2018-02-09
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 1970-01-01
    • 2013-03-08
    相关资源
    最近更新 更多