jquery创建跨度,然后对其应用函数
我正在jQuery中创建一个表单。当页面加载时,我会隐藏所有文本框,并尝试用span替换它们jquery创建跨度,然后对其应用函数,jquery,Jquery,我正在jQuery中创建一个表单。当页面加载时,我会隐藏所有文本框,并尝试用span替换它们 $("form input:text").each(function(index) { $(this).after("<span id='Span_" + $(this).attr("id") + "'>" + $(this).val() + "</span").hide(); }); $(“表单输入:文本”)。每个(函数(索引){ $(this).after(“+$(thi
$("form input:text").each(function(index) {
$(this).after("<span id='Span_" + $(this).attr("id") + "'>" + $(this).val() + "</span").hide();
});
$(“表单输入:文本”)。每个(函数(索引){
$(this).after(“+$(this).val()+”因为您只是隐藏它们,而不是分离它们,所以应该这样做:
$("form input:text").each(function(index) {
$(this).after("<span id='Span_" + $(this).attr("id") + "'>" + $(this).val() + "</span>").hide();
});
$("form input:text+span").hover(...);
这可能是一个更好的解决方案,因为您可以单独绑定事件。但是,如果您不需要单独绑定,则会添加不必要的计算。您可以对其进行如下更改:
$("form input:text").each(function(index) {
$(this).after("<span id='Span_" + $(this).attr("id") + "'>" + $(this).val() + "</span>").hide().next().hover(...);
});
$("form input:text").each(function(index) {
$("<span />", { "id": 'Span_' + this.id, text: $(this).val() })
.insertAfter(this)
.hover(function() {
//do something
});
$(this).hide();
});
$(“表单输入:文本”)。每个(函数(索引){
$(“”,{“id”:“Span_933;”+this.id,文本:$(this.val()})
.insertAfter(本)
.hover(函数(){
//做点什么
});
$(this.hide();
});
这用于创建对象,而不是使用链引用已创建元素的方式,因此您可以直接对其执行任何操作