Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何在覆盖css中定义的样式时更新属性?_Jquery_Html_Css - Fatal编程技术网

Jquery 如何在覆盖css中定义的样式时更新属性?

Jquery 如何在覆盖css中定义的样式时更新属性?,jquery,html,css,Jquery,Html,Css,这个问题建立在我前面两个问题的基础上 我有一个必须包含的css(first\u style.css在下面的代码片段中)。我已经将它缩减为img{height:auto;}——这是必须包含的内容。我可以在之前或之后添加任何样式。加载图像后,我运行一个脚本来更新图像的高度-见下文 如果我不包括first\u style.css,一切都正常。然而,如果我不得不把它包括进来,我就找不到让我的脚本正常工作的方法。我怎样才能修好它 $(函数(){ $('.images div a img')。on('lo

这个问题建立在我前面两个问题的基础上

我有一个必须包含的css(
first\u style.css
在下面的代码片段中)。我已经将它缩减为
img{height:auto;}
——这是必须包含的内容。我可以在之前或之后添加任何样式。加载图像后,我运行一个脚本来更新图像的高度-见下文

如果我不包括
first\u style.css
,一切都正常。然而,如果我不得不把它包括进来,我就找不到让我的脚本正常工作的方法。我怎样才能修好它

$(函数(){
$('.images div a img')。on('load',function(){
$(this.attr('height',$(this.images').attr('imgheight'));
});
});
img{
身高:无!重要;
}

试试这个:

$(函数(){
$('.images div a img')。on('load',function(){
$(this.css('height',$(this.images').attr('imgheight'));
});
});
img{
身高:无!重要;
}

试试这个:

$(函数(){
$('.images div a img')。on('load',function(){
$(this.css('height',$(this.images').attr('imgheight'));
});
});
img{
身高:无!重要;
}

这是你的问题的工作提琴:

HTML:

CSS:


这是你的问题的工作提琴:

HTML:

CSS:


您可以为此使用
数据高度
属性,并使用
元素.data('height')在脚本中获取该数据属性

下面是一个工作示例

$(文档).ready(函数(){
$('.images img')。每个(函数(){
$(this.attr('height',$('images')).data(“height”);
});
});

您可以为此使用
数据高度
属性,并使用
元素.data('height')在脚本中获取该数据属性

下面是一个工作示例

$(文档).ready(函数(){
$('.images img')。每个(函数(){
$(this.attr('height',$('images')).data(“height”);
});
});


无法理解您需要什么图像必须调整大小(在本例中,调整到300px高度)可能,我无法使用属性覆盖样式。不知道如何使用javascript覆盖样式。您有
first_style.css
文件中的
height:auto
,并且您的属性
height=“300px”
不正确。无法理解您需要什么图像必须调整大小(在本例中,调整为300px高度)可能,我无法使用属性覆盖样式。不确定如何使用javascript覆盖样式。您有
first_style.css
文件中的
height:auto
,并且您的属性
height=“300px”
不正确当我运行您的代码段时,图像仍然是完整大小,而不是300pxhigh@YuliaV错误,当onload完成时,您将看到大小调整。这就是onload事件的问题所在,正如我在回答中所解释的,我可以建议您避免
onload
事件,并尝试使用
$(document).ready()
,因为您不进行计算,并且高度始终为300px。我需要知道图像的大小以扩展脚本,我是否正确理解,在执行
$(document).ready()
的过程中,它是未知的?不,在加载之前,您无法知道图像的大小,但您正在写入固定高度(300像素),在这种情况下,图像的大小无关紧要,始终是300像素,因此,您可以安全地使用document.ready当我运行您的代码段时,图像仍然是完整大小,而不是300pxhigh@YuliaV错误,当onload完成时,您将看到大小调整。这就是onload事件的问题所在,正如我在回答中所解释的,我可以建议您避免
onload
事件,并尝试使用
$(document).ready()
,因为您不进行计算,并且高度始终为300px。我需要知道图像的大小以扩展脚本,我是否正确理解,在执行
$(document).ready()
的过程中,它是未知的?不,在加载之前,您无法知道图像的大小,但您正在写入固定高度(300像素),在这种情况下,图像的大小无关紧要,始终是300像素,因此您可以安全地使用document.ready
<div imgheight="300px" class="images">
  <div><a> <img class="myimg" src=" http://www.yu51a5.com/wp-content/uploads/2015/01/goldenhorseman.jpg " /></a> </div>
  <div><a> <img class="myimg" src=" http://www.yu51a5.com/wp-content/uploads/2015/01/bronze-horseman.jpg "/></a> </div>
</div>
$(function() {

  $('.images img').each(function(){
    console.log($(this).attr('src'));

    $(this).attr('height', $(this).closest('.images').attr('imgheight'));

  })


});
<link rel='stylesheet' href='http://www.yu51a5.com/wp-content/themes/pinboard-child/first_style.css' type='text/css' media='all' />