<input type="text" value="Here" id="aaa"> <br />
<span id="check">check</span>
$('#check').click(function(){
alert($('input [value="Here"]').attr('id'));
})
为什么这不起作用?如何使用选择器 VALUE 获取属性?
<input type="text" value="Here" id="aaa"> <br />
<span id="check">check</span>
$('#check').click(function(){
alert($('input [value="Here"]').attr('id'));
})
为什么这不起作用?如何使用选择器 VALUE 获取属性?
您不应该在元素和属性选择器之间使用空格,目前您的选择器尝试在输入元素中查找具有属性value='here'
的元素,请尝试以下操作:
$('#check').click(function(){
alert($('input[value="Here"]').attr('id'));
})
去掉空格应该是:
alert($('input[value="Here"]').attr('id'));
删除选择器中的空格。
$('input[value="Here"]').attr('id')
这个空间的意思是“的后代”。
这是一个有用的函数(取自此处),它获取包含指定属性值的所有元素:
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;
};