我有以下一点jQuery用于在搜索表单的末尾添加“清除”按钮: -
$('#search-tools input:last').after($('<input>',{
'class': 'search-clear'
, 'val': 'Clear'
, 'type': 'submit'
, 'click': function() {
// do something
}
}));
这适用于IE以外的所有浏览器;在IE中输入按钮没有设置值“清除”,而是显示“提交查询”。我是否错误地设置了val,或者这是jQuery的已知IE问题?
答案 0 :(得分:4)
我已经明白了......
您必须在 'value'
属性后定义'type'
属性:
$('<input>', {
'class': 'search-clear',
'type': 'submit',
'value': 'Clear',
'click': function() {
// do something
}
})
现场演示: http://jsfiddle.net/b8mk6/10/
'value'
属性设置为'type'
时, IE 清除 'submit'
属性的值。所以:
var input = document.createElement( 'input' );
input.value = 'test...';
input.type = 'submit'; // the value is cleared
document.body.appendChild( input );
答案 1 :(得分:1)
$( '<input>', {
'class':'search-clear',
'type': 'submit',
'click': function () {}
}).appendTo( 'body' );
$('.search-clear').attr('Value','Clear');
这可以出于某种原因
答案 2 :(得分:0)
我认为这是因为输入元素的type
。如果您不希望此操作像提交按钮一样,请尝试将其设置为button
而不是submit
,它的效果非常好。试试这个。
$( '<input />', {
'class': 'search-clear',
'value': 'Clear',
'type': 'button',
'click': function () {}
}).appendTo( 'body' );