我刚遇到$('#' + id).empty().hide();
,它重置了jquery的一些代码块。
我不理解将id
与#
连接而不是#('#something')
的目的
只需将整个ID引用为id
。
我想这是有充分理由的,所以我很想知道 你的两分钱将不胜感激。
修改
下面是我正在谈论的演示。
我应该说我理解id
这里用作变量,但我没有得到的是这个引用var demobox = $('#' + id);
var fields = $('#jq4u-demo-form').serializeArray(),
fieldDetails;
demobox.empty();
$.each(fields, function (i, field) {
demobox.append(field.name + '=' + field.value + '<br/>');
});
的值。
{{1}}
答案 0 :(得分:1)
这样写是因为元素的名称存储在变量中。
如果你对选择器进行硬编码,你会写:
$('#something').empty().hide();
但是,假设元素的名称存储在名为#hide_this_one
的文本字段中。假设您获取该文本字段的值并将其分配给名为id
的变量。现在,变量id
的名称为控件something
:
var id = $('#hide_this_one').val();
$('#'+id).empty().hide();
将清空并隐藏控件#something
。
回答您的其他问题:
您可以知道此处引用的控件:
var demobox = $('#' + id);
添加此附加代码(仅用于测试):
var demobox = $('#' + id);
alert(id);
答案 1 :(得分:0)
我不明白将
id
与#
联系在一起的目的,而不仅仅是将整个ID引用为#('#something')
。
在这种情况下的目的是该选择器的something
部分根据id
的值进行更改,允许您通过简单地传递不同的ID来重复使用它。