-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,我也可以在带有 firebug 的 html 上看到它,如下所示:

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

如何在不影响我网站上所有其他图像的情况下分配此图像的宽度?我可以在我的样式表中设置一个最大宽度,但这会改变我所有图像的大小,我不希望这样。如果有人可以帮助我,我会很高兴...

我查看了代码中的其他样式元素,发现了这一点:

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;

请注意,几乎不需要setAttribute在 DOM 元素上使用,只需设置所需的属性即可。

如果事实证明您无法修改引用的代码,但之后可以访问 DOM,请使用此 jQuery:

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

这只会影响那些使用您的原始片段创建的图像。

于 2012-10-05T19:51:28.053 回答