7

ページの属性を変更しようとしidています。name私が使用しているコードは次のとおりです。

var img = new RegExp( 'id*="launch_pad_image_slide_\d"', g ) ;
$('.slider-data').each(function(){
    $(this).find(img).attr( 'id', 'random stuff' );
});             

仮定は、関数が内部.find全体を取得する必要があるということです:id

id="launch_pad_image_slide_2"

...しかし、うまくいきません。

これで5時間、燃え尽きました。提案?基本的に、フィールドが削除されるたびに、jQuery はそれらをループし、それらのid/name属性に適切な番号を付けて、二重を回避する必要があります。

4

2 に答える 2

10

jQuery セレクターは正規表現構文をサポートしていません。ただし、Attribute Starts With Selectorを使用できます。

$(this).find("[id^='launch_pad_image_slide_']").prop("id", "random stuff");

別の方法はfilter、要素です。

$(this).find("[id]").filter(function() {
    return /^launch_pad_image_slide_\d$/.test(this.id);
}).prop("id", "random stuff");
于 2012-12-19T11:51:50.267 に答える
1

これを試して :

    $('img').each(function(){
           if ($(this).attr('id').indexOf("launch_pad_image_slide_") >= 0)
               $(this).attr('id',Math.random());
    });
于 2012-12-19T11:54:06.407 に答える