<input type="text" value="Here" id="aaa"> <br />
<span id="check">check</span>
$('#check').click(function(){
alert($('input [value="Here"]').attr('id'));
})
为什么这不起作用?如何使用选择器VALUE获取属性?
答案 0 :(得分:3)
你不应该在元素和属性选择器之间使用空格,当前你的选择器试图在input元素中找到属性为value='here'
的元素,请尝试以下方法:
$('#check').click(function(){
alert($('input[value="Here"]').attr('id'));
})
答案 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;
};