1
<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

4 に答える 4

3

value='here'要素と属性セレクターの間にスペースを使用しないでください。現在、セレクターは入力要素内の属性を持つ要素を見つけようとしています。次のことを試してください。

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

デモ

于 2012-08-06T18:55:12.203 に答える
2

スペースを削除する必要があります:

alert($('input[value="Here"]').attr('id'));
于 2012-08-06T18:55:13.317 に答える
2

セレクターのスペースを削除します。

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

スペースは「の子孫」を意味します。

于 2012-08-06T18:55:37.117 に答える
0

指定された属性の値を含むすべての要素を取得する便利な関数 (ここから取得) を次に示します。

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;
};
于 2015-12-13T13:32:58.760 に答える