【问题标题】:jQuery: Replace attr value placeholder with user input from text inputjQuery:用来自文本输入的用户输入替换 attr 值占位符
【发布时间】:2015-12-08 06:40:41
【问题描述】:

使用.replaceWith().val() 我可以替换标题,但是在尝试访问输入的placeholder .attr() 时,我无法替换它。这是我所拥有的:

<p class="title">Title</p>
<p><input class="placeholder" type="text" placeholder="Placeholder" disabled /></p>
<p><input class="newText" type="text" /></p>
<p><input class="newPlaceholder" type="text" /></p>
<p><input type="button" class="button" title="button" /></p>

$("input.button").click(function(){
    var newText = $("input.newText").val();
    $("p.title").replaceWith(newText);

    var newPlaceholder = $("input.newPlaceholder").val();
    $("input.placeholder").attr("placeholder").replaceWith(newPlaceholder);
});

JSFiddle

【问题讨论】:

    标签: jquery input placeholder replacewith


    【解决方案1】:

    .replaceWith() 不用于设置 HTML 元素的属性。你想用.prop():

    获取匹配元素集中第一个元素的属性值,或为每个匹配元素设置一个或多个属性

    要设置文本框的占位符属性,您可以像这样使用.prop()

    var newPlaceholder = $("input.newPlaceholder").val();
    $("input.placeholder").prop("placeholder", newPlaceholder);
    

    我有 updated your JSFiddle 来展示一个例子。

    【讨论】:

    • 谢谢,我对 jQuery 还很陌生,花了很多时间阅读jQuery API,但我显然错过了这一点。
    猜你喜欢
    • 2017-01-22
    • 2013-06-25
    • 1970-01-01
    • 2017-01-01
    • 2018-04-10
    • 1970-01-01
    • 2021-01-17
    • 1970-01-01
    • 2015-09-20
    相关资源
    最近更新 更多