0

これは以前に回答されたことがあると思いますが、正しい検索用語が見つかりません。

jquery [1.3.2] .each()関数を使用して、オブジェクトのセット名+ var(i)を検索したいと思いますinfo1="value1", info2="value2"。(i)valは関数では不明であり、0+nである可能性があります。

関数のIDを解析しているので、質問は次のとおりです。

function findInfos(hostId){
 $($('#'+hostId).attr('[info]')).each(function(){
        alert($(this).attr('[info(i)]'));
    });
 }
  1. (i)をどのように挿入しますか
  2. (i)、(info *)を使用する代わりに、部分的な正規表現で検索を実行することは可能ですか?infoA, infoB
  3. オブジェクトIDが関数に渡され、.each()の正しい構造の使用法が不明な場合

私は調べましhttp://stackoverflow.com/questions/4606133/jquery-each-and-attr-functionsたが、.each()を渡されたIDに制限する方法を理解できませんでした。

thxアート

4

2 に答える 2

0

私が間違っていなければ、あなたはこのようなものが欲しいと思います:

function findInfos(hostId) {
    $('#' + hostId).attr('[info]').each(function(i) {
        alert($(this).attr('[info'+i+']'));
    });
}​

また、複数のオブジェクトに同じIDを割り当てることは避けてください。これにより、厄介なエラーが発生する可能性があります。

于 2012-07-06T13:56:34.610 に答える
0

複数の属性を持つ単一の要素を見ているようで、のような特定の正規表現に一致する属性で何かをしたいと考えています/^info\d$/。もしそうなら、あなたがしたいことは、DOM要素のattributes NamedNodeMap:を循環することです。

​var el = $('#foo');
var attributes = el[0].attributes;

$.each(attributes,function(i,attr){
    var name = attr.nodeName;
    var val = attr.nodeValue;
    var regex = /^info\d$/;

    if(name.match(regex)) {
        //Do something with your matched attributes
    }
});​

jQuery1.3.2でテスト済み

jsFiddleデモ

于 2012-07-06T14:05:38.617 に答える