-1

jqueryで自動作成されたサムネイル・画像の横幅の設定に困っています。

これは、jQuery ファイルのコードです。

                var span = document.createElement('span');
                a.appendChild(span); 
                                var img = document.createElement('img');
                img.setAttribute('src',(entry.thumbnail ? entry.thumbnail.hqDefault : ''));
                span.appendChild(img);
                var em = document.createElement('em');
                span.appendChild(em);   

次のように、img が作成されていることがわかります。これは、私の html でも firebug で確認できます。

<a class="clip" style="cursor: pointer;">
<span>
<img src="http://i.ytimg.com/vi/iN9a273LvaQ/hqdefault.jpg">
<em></em>
</span>
</a>

Web サイトにある他のすべての画像に影響を与えずに、この画像に幅を割り当てるにはどうすればよいですか? スタイルシートで最大幅を設定できますが、それによってすべての画像のサイズが変更されるため、それは望ましくありません。誰かが私を助けてくれたらとても嬉しいです...

コード内の他のスタイル要素を調べたところ、次のことがわかりました。

var iframe = document.createElement('iframe');
            iframe.setAttribute('id', cfg.block+'Player');
            iframe.setAttribute('type', 'text/html');
            iframe.setAttribute('width', cfg.width);

(...)

    if(!this.cfg.width){
                    this.cfg.width = 200;
                }

このようなものでなければならないと思いますが、同じことをしようとしたときにうまくいきませんでした.cfgを削除してimg.

4

2 に答える 2

1

作成した画像に id 属性を追加する

var img = document.createElement('img');
img.setAttribute('src',(entry.thumbnail ? entry.thumbnail.hqDefault : ''));
img.setAttribute('id', 'myImage');

そしてあなたのスタイルで

#myImage {width: 200px;}
于 2012-10-05T19:48:30.753 に答える
1

画像要素に直接幅を設定することができます:

var img = new Image();
img.src = ...;
img.width = 200;

setAttributeDOM 要素で使用する必要はほとんどないことに注意してください。代わりに目的のプロパティを設定するだけです。

引用したコードを変更できないが、後で DOM にアクセスできることが判明した場合は、次の jQuery を使用します。

$('a.clip > span > img').attr('width', 200);

これは、元のスニペットで作成された画像のみに影響します。

于 2012-10-05T19:51:28.053 に答える