1

私は現在、このjquery プラグイン (画像拡大鏡) に取り組んでいます。

HTML の多くは、拡大したいすべての画像に「rel」または関係を使用することがわかりました。

ここに関連例があります:

<a rel="{gallery: 'gal1', smallimage: 'images/image1.jpg',largeimage: 'images/image1.jpg'}">
    <img src = images/image1.jpg>
</a>

そこで、(rel 内の)「smallimage」と「largeimage」の値を変数に変更したいと思います。

それがjqueryで処理できるかどうかはわかりませんが、次のようなjqueryを書いてみました:

$(function(){
  var src= $("a:first").find('rel').attr();
});

しかし、「rel」内のすべてを変数srcに格納すると思います

どうもありがとうございました

4

2 に答える 2

3

まず、次のrelように属性を取得する必要があります。

$(element).attr('rel');

次に、この文字列を JSON オブジェクトとして解析することもできrelますが、最初に、自分が持っているものが整形式の JSON オブジェクトであることを確認する必要があります。したがって、次のように、単一引用符を使用して要素をラップしrel、要素を二重引用符で囲みます。

<a rel='{"gallery": "gal1", "smallimage": "images/image1.jpg","largeimage": "images/image1.jpg"}'>

次に、JSON を jQuery で解析し、次のようにオブジェクトとして使用できます。

var src= $("a").attr("rel");
src = $.parseJSON(src);

srcをオブジェクトとして使用した実際のデモを見ることができます。

Demo

を使用する必要があると言いrelましたが、コメントで提案されているように、属性を使用してこの種のデータを保存することをお勧めします。要素は次のようになります。datarelHTML

<a data-gallery="gal1" data-smallimage="images/small.jpg" data-largeimage="images/large.jpg" href="#">

編集: rel オブジェクトを変更する方法

srcオブジェクトのプロパティの 1 つsrcを別のイメージ タグの属性で変更する方法を尋ねました。次に、次のようにします。

// Get the attribute you want to substitute
var image = $('img').attr('src');

// Substitute it into the object properties
src.smallimage = image;
src.largeimage = image;

// Turn the object back into a string to put it back into the rel attribute
src = JSON.stringify(src);
$('a').attr('rel', src);
于 2013-03-06T17:06:02.530 に答える
1

これを参照してください:

$(function () {
    var src = $.parseJSON($("a:first").prop("rel"));
    src.smallimage = "images/newimage1.jpg";
    src.largeimage = "images/newimage1.jpg";

    alert("Before : " + $("a:first").prop("rel"));
    $("a:first").prop("rel", JSON.stringify(src));
    alert("After : " + $("a:first").prop("rel"));
});

と:

<a rel='{"gallery": "gal1", "smallimage": "images/image1.jpg","largeimage": "images/image1.jpg"}'>
    <img src = "images/image1.jpg" >
</a>

SAMPLE

于 2013-03-06T17:16:37.040 に答える