此代码适用于FF,Chrome和& Safari,但IE 8在运行时会抛出几个无效的参数错误:
<script type="text/javascript">
$(window).load(function() {
$('div .box').each(function() {
$(this).width($(this).find('img').width());
});
});
</script>
You can see it in context here: 我的html / css技能或多或少一尘不染但我对jquery / javascript几乎一无所知。我已经搜索但无法处理错误是什么以及如何解决它。非常感谢任何帮助。
感谢。
答案 0 :(得分:2)
代码“$(this).find('img')”在所有情况下都找不到图像。尝试:
$(window).load(function() {
$('div .box').each(function() {
var imageJQObject = $(this).find('img');
if(imageJQObject.length > 0) {
$(this).width(imageJQObject.width());
}
});
});
答案 1 :(得分:0)
是否有关于异常的任何其他信息,例如它是哪一行?我感觉没有找到图像的宽度,因此您将this
的宽度设置为null。尝试用100这样的东西替换img宽度,看它是否还会抛出。
答案 2 :(得分:0)
查看页面上的标记,您应该
$(window).load(function() {
$('div.box').each(function() {
$(this).width($(this).find('img').width());
});
});
请注意div
和.box
之间缺少的空格。如果您单独编写它们,则意味着您正在查找类box
的所有元素,这些元素是div
的子元素,而没有空格时它会找到具有类{{1}的所有div
}}