0

Jquery を使用して、

配列の結果があります

[<a href=""><img src="image1"></a>,<a href=""><img src="image2"></a>]

それぞれを実行しようとすると、配列の最初のものしか取得できません。

これを分割するにはどうすればよいですか

$.each(my_array, function (index, value) {
     this.parent().attr.('href',this.src);// assign image as href to parent
});

ここは悪い試みです

http://jsfiddle.net/ZZVXf/6/

上記の配列は、jquery の imagesLoaded プラグインによって返されることに注意してください。結果内にないため、親を直接選択することはできません。ZI は element.parent() によって移動する必要があります。thnx!

4

5 に答える 5

2
于 2012-06-21T06:30:06.760 に答える
1

img 要素を選択します。

var $imgs = $("a > img");

選択した要素をループする

$imgs.each(function () {
    $(this).parent().attr('href',this.src);// assign image as href to parent
});

「.」がないことに注意してください。メソッドであるため、attr の後。また、ループ内はjqueryオブジェクトではなくdom要素である$(this)ため、実行する必要があります。this

于 2012-06-21T06:34:12.513 に答える
0
var arr = ['<a href=""><img src="image1"></a>','<a href=""><img src="image2"></a>'];

$.each(arr, function (index, value) {
    alert(value.replace(/^.*src="(.*)".*$/m, '$1'));
});
于 2012-06-21T06:27:11.647 に答える
0

これを使って :

var obj = ['<a href=""><img src="image1"></a>,<a href=""><img src="image2"></a>']

jQuery(obj).each(function(key,value){
    var imgObj = jQuery(value).find('img')
       jQuery(imgObj ).each(function(key,value){ 
            jQuery(this).parent('a').attr('href',jQuery(this).attr('src')); 
     });
});​

デモはこちら

于 2012-06-21T06:37:05.997 に答える
0

コードがhttp://jsfiddle.net/ZZVXf/6/の場合は、次のように変更するだけです。

$.each($('img'), function (index, value) {
    $(this).parent().attr('href', this.src);// assign image as href to parent
});

jQueryメソッドにアクセスしたいので、これをjQueryでラップする必要があります(魔女はjQuery参照ではなくDOM参照です)。

于 2012-06-21T06:38:23.370 に答える