如何在js函数中获取元素id?

时间:2015-01-22 10:53:32

标签: javascript jquery html angularjs

JS没有看到输入ID(未定义)。我不知道它为什么不起作用。我在谷歌找到了很多解决方案,但它仍然没有用。

index.html:

<div ng-class="{'form-group has-success':checkValue(answer) == true,'form-group has-warning': checkValue(answer) == false}">
    <input id="422" 
        maxlength="3" 
        type="Integer" 
        class="form-control" 
        style="width: 100px" 
        ng-model="answer" 
        ng-blue="checkValue(answer, id)">
</div>
$scope.checkValue = function(value, id) {
    $scope.val = id;
    console.log($scope.val);
    if ($scope.val == value)
        return true;
    else
        return false;
}

控制台只显示:

undefined

4 个答案:

答案 0 :(得分:1)

使用jquery:

(function($) {
    $( document ).ready(function() {
        var inputId = $('input').attr('id');
        console.log(inputId)
    });
})( jQuery );

使用纯javascript:

var inputs = document.getElementsByTagName("input");
var inputId = inputs[i].id;
console.log(inputId);

答案 1 :(得分:0)

您可以使用以下代码获取ID:

$('ELEMENT').attr('id');

您也可以使用此代码将其他属性作为类名等。

答案 2 :(得分:0)

您可以使用以下代码获取ID:

$( '形式控制。 ')ATTR(' ID');

答案 3 :(得分:0)

您可以通过以下代码获取ID:

var element_id = $("input[ng-model='answer']").attr("id"); //Here I am using other unique property of the element to get its attribute

你也可以使用其他属性,否则你可以使用像这样的其他Jquery选择器

var element_id = $(".form-control").attr("id"); //This may give unexpected result if class name is repeated

var element_id = $("input.form-control").attr("id"); //This is more assuring way since, we are providing class name along with element name