jQuery 设置 input.value = input.title(或其他输入属性)
jQuery setting input.value = input.title (or other input attribute)
我正在尝试弄清楚如何将文本字段的input
值设置为页面加载时title
的值,以此作为显示占位符文本的一种方式。我使用的是HTML4严格文档类型。我不想将占位符文本存储在输入值中,因为我不希望没有javascript的人在键入之前必须删除文本。我希望它与javascript一起添加,然后在输入获得焦点时将其删除。我有 focus()
和 blur()
方法工作,但我无法弄清楚如何编写初始 pageload 函数以将输入的标题传递给 val()
函数。
我目前有这个代码:
// This doesn't work, it grabs the page title:
$('#item-search').val(this.title);
// Works:
$('#item-search').focus(function() {
if (this.value == this.title) {
this.value = '';
}
});
// Works:
$('#item-search').blur(function() {
if (this.value == '') {
this.value = this.title;
}
});
只是为了添加另一个变体,.val()
可以接受一个函数作为其参数,从而解决您的this
问题:
$('#item-search').val(function () {
return this.title;
});
>this
是指当前作用域。在您的第一个示例中,它指的是 document
.
你可能想要。
$('#item-search').val($('#item-search').attr('title'));
甚至更好:
var $itemSearch = $('#item-search');
$itemSearch.val($itemSearch.attr('title'));
$('#item-search').val(this.title);
在此行中,this
引用文档( html
) 并设置<title>
。要完成您的工作,请执行以下操作:
$('#item-search').val($('#item-search').attr('title'));
试试这个:
$('#item-search').val($('#item-search').attr('title'));
请尝试这个。
$('#item-search').val($("#item-search").attr("title"));
相关文章:
- 如何添加浮动和非浮动,其他
- 与其他库的jQuery.noConflict()
- 播放当前视频时如何停止其他视频?JavaScript
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 正在将base64 jpeg从input-type=file上传到服务器
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 除修剪外的其他功能
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- Array.length似乎不起作用;console.log则显示其他情况
- 如何消除代码中的未定义和其他问题
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- Jquery未定义函数正在停止其他操作
- 如何将我的javascript库公开给其他客户端使用
- Javascript阻止其他Javascript代码
- jQuery 设置 input.value = input.title(或其他输入属性)
- 如何调用“;点击“;输入类型“on input type”;文件“;通过调用其他元素的上下文
- 在Angular中,如何使用input type=text字段来只接受数字、负号和小数,别无其他
- Jquery: .on('input')在输入值被其他函数改变时不触发