使用Jquery添加占位符属性

28

我有一个简单的问题,我只想在输入框中添加一个占位符。以下是代码:

HTML:
<input type="text" name="link" class="hidden">

JQuery:
var link = document.querySelector('.link');
    link.style.display='block';
    link.classList.remove('hidden');
    if(val === 1)  // for a movie
        link.classList.add('placeholder="Add Movie Title. ."');
    else  // for an external link
        link.classList.add('placeholder="Add External Link . ."');

正如你所看到的,这个占位符并没有起作用,因为语法是错误的。我搜索了相关问题的解决方案,但它们使用了不同的方法,例如:

$("").attr("placeholder", "Type here to search");});

但我需要的是类似于添加样式时使用的方式,但我不确定是否有其他方法。有类似的方法吗?


2
第一段代码是纯JavaScript,第二段使用了jQuery。 - Shahar
4个回答

60

你只需要这个:

$(".hidden").attr("placeholder", "Type here to search");

classList 用于操作类而不是属性。


那么没有其他方法可以使用变量链接来放置占位符吗?例如link.attr之类的东西? - krispykim

15

由于本地支持问题,这行代码可能无法在IE 8中正常工作。

$(".hidden").attr("placeholder", "Type here to search");
你可以尝试导入一个JQuery placeholder插件来完成此任务。只需将其导入到你的库中,并从下面的示例代码中启动即可。
$('input, textarea').placeholder();

4
如果你想使用纯JavaScript,可以尝试以下方法:
document.getElementsByName('link')[0].placeholder='Type here to search';

0

你只需要把这个放进去

($('#{{ form.email.id_for_label }}').attr("placeholder","Work email address"));

($('#{{ form.password1.id_for_label }}').attr("placeholder","Password"));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接