Javascript函数按Id检索不同的html元素

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)

我正在尝试编写一个Javascript函数,该函数将能够通过Id检索元素。例如,我想编写两个函数,一个用于通过Id检索标签元素,另一个用于通过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表单中都是唯一的。问题是如何使每个函数只接受其各自的元素。