Javascript函数按Id检索不同的html元素
我正在尝试编写一个Javascript函数,该函数将能够通过Id检索元素。例如,我想编写两个函数,一个用于通过Id检索标签元素,另一个用于通过Id检索输入元素。我之所以要将它们分开,主要是因为我想访问它们的属性Javascript函数按Id检索不同的html元素,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试编写一个Javascript函数,该函数将能够通过Id检索元素。例如,我想编写两个函数,一个用于通过Id检索标签元素,另一个用于通过Id检索输入元素。我之所以要将它们分开,主要是因为我想访问它们的属性 Label = function(id) { this.id = id; this.setValue = function(value) { $("#" + id).text(value); } } function Label(id)
Label = function(id) {
this.id = id;
this.setValue = function(value) {
$("#" + id).text(value);
}
}
function Label(id) {
var elem = $('#'+id).val();
if (elem == null) {
alert('Label with id = ' + id + ' does not exist!');
} else
return new Label(id);
}
上述函数的问题是,如果我写一个输入元素Id,它将返回带有labels函数的输入元素。因此,我的问题是如何进行某种验证,以防止标签函数中出现不正确的元素Id?首先:
页面上的ID应该是唯一的,以便进行良好的练习。如果要获取多个标签,请使用属性,例如:“data-*”或“class”。
例如:
- 获取具有类“name”的所有输入
$(“input.name”)代码>
- 按ID“myID”提取标签:
$(“标签#myID”)代码>
性能提示:使用选择器label#myID
比使用选择器#myID更好。您不需要函数,只需使用jQuery,并确保您的ID是唯一的!标签应该使用for属性,而不是id属性;输入:#foo
,标签:label[for=“foo”]
标签只是一个示例。我不知道应该像你说的那样。我想为每个元素都这样做。:)进一步注意,var标签
和功能标签
,即存在标识符冲突;其中一个会赢(var),另一个会被覆盖是的,我的所有Id在我的html表单中都是唯一的。问题是如何使每个函数只接受其各自的元素。