0
4

3 に答える 3

3

あなたが望むのは、正規表現を使用できる適切なhrefをラップして構築することです:

$('img').wrap(function(){
    return $('<a>').attr(
        'href',
        '../tmp.php?title=' + this.src.match(/\/(.*?)\.jpg$/)[1] + '.mp4'
    )
});
于 2013-05-30T16:05:55.860 に答える
2

関数の明らかな理解の欠如とは別に、querySelector機能することも期待</img>しています(機能しません。無効な要素です)...

説明するコメントを付けて、それを行う方法は次のとおりです。

var imgs, l, i, img, par, a; // prepare some variables
imgs = document.getElementByTagName('img');
                             // get all images on the page
l = imgs.length;             // save the number of images (for performance reasons)
for( i=0; i<l; i++) {        // loop through all images
    img = imgs[i];           // for easire access
    par = img.parentNode;    // get the parent of the current image
    a = document.createElement('a');
                             // create a new link
    a.href = "../tmp.php?title="+img.src.match(/([^\/.]+\.\w+$/)[1]+".mp4";
                             // extract the right part from the image source
                             // and put it into the link's href
    par.insertBefore(a,img); // insert the link before the image
    a.appendChild(img);      // move the image so that it is inside the link
}
于 2013-05-30T16:08:55.380 に答える