获取具有选择器值的属性

时间:2012-08-06 18:53:54

标签: javascript jquery html

<input type="text" value="Here" id="aaa"> <br />
<span id="check">check</span>

$('#check').click(function(){
   alert($('input [value="Here"]').attr('id'));
})

http://jsfiddle.net/mHYsJ/

为什么这不起作用?如何使用选择器VALUE获取属性?

4 个答案:

答案 0 :(得分:3)

你不应该在元素和属性选择器之间使用空格,当前你的选择器试图在input元素中找到属性为value='here'的元素,请尝试以下方法:

$('#check').click(function(){
   alert($('input[value="Here"]').attr('id'));
})

DEMO

答案 1 :(得分:2)

删除空格应该是:

alert($('input[value="Here"]').attr('id'));

答案 2 :(得分:2)

删除选择器中的空格。

$('input[value="Here"]').attr('id')

空间意味着“后代”。

答案 3 :(得分:0)

这是一个有用的函数(取自here),它获取包含指定属性值的所有元素:

var getAllElementsWithAttribute = function (attribute) {
    var matchingElements = [];
    var allElements = document.getElementsByTagName('*');
    for (var i = 0; i < allElements.length; i++) {
        if (allElements[i].getAttribute(attribute)) {
            matchingElements.push(allElements[i]);
        }
    }
    return matchingElements;
};