Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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
Javascript 替换“;“内联样式”;用一个「;“css类”;取决于其内联样式的值_Javascript_Jquery_Css - Fatal编程技术网

Javascript 替换“;“内联样式”;用一个「;“css类”;取决于其内联样式的值

Javascript 替换“;“内联样式”;用一个「;“css类”;取决于其内联样式的值,javascript,jquery,css,Javascript,Jquery,Css,我的网站有CMS,所以用户可以直接插入文本和图像。CMS ui允许浮动左/右图像,将内联样式应用于IMG标记 <img src='...' style='float:left'> 我想到了这样的事情: if ( $("article").find('img').css('float') == 'left') { this.addClass('floated-left'); } 但似乎“如果从句”从来都不是真的。(我知道也可能this.addC

我的网站有CMS,所以用户可以直接插入文本和图像。CMS ui允许浮动左/右图像,将内联样式应用于IMG标记

<img src='...' style='float:left'>
我想到了这样的事情:

    if ( $("article").find('img').css('float') == 'left')
    {
       this.addClass('floated-left');
    }
但似乎“如果从句”从来都不是真的。(我知道也可能
this.addClass()
是错误的,但目前从未触发过
alert()


您能帮助我吗?

使用
attr
而不是
css
来选择内联样式对象:

$('article img').each(function() {
   if ( $(this).attr('style') == 'float:left') {

      $(this).removeAttr('style').addClass('floated-left');
   }
});
如果某些对象的样式不同,请尝试以下方法:

$('article img').each(function() {
   if ( $(this).attr('style').indexOf('float:left') > -1 ) {

      var targetedStyle = $(this).attr('style').replace('float:left','');
      $(this).attr('style',targetedStyle).addClass('floated-left');
   }
});

使用
attr
而不是
css
选择内联样式对象:

$('article img').each(function() {
   if ( $(this).attr('style') == 'float:left') {

      $(this).removeAttr('style').addClass('floated-left');
   }
});
如果某些对象的样式不同,请尝试以下方法:

$('article img').each(function() {
   if ( $(this).attr('style').indexOf('float:left') > -1 ) {

      var targetedStyle = $(this).attr('style').replace('float:left','');
      $(this).attr('style',targetedStyle).addClass('floated-left');
   }
});

为了应用更多声明,您可以通过纯CSS实现:

img[style*=“float:left”],
img[style*=“float:left”]{
右边距:20px;
左边框:实心5px红色;
}

您可以使用来选择有效的图像/元素。

为了应用更多声明,只需使用纯CSS即可:

img[style*=“float:left”],
img[style*=“float:left”]{
右边距:20px;
左边框:实心5px红色;
}

您可以使用来选择有效的图像/元素。

几乎完美!:-)但是,如果cms也应用其他内联样式,比如宽度和高度,那么如何只删除“float:left”声明呢?mhmmm Firebug返回这样的信息:“
TypeError:$(…).attr(…)是未定义的,如果($(this).attr('style').indexOf('float:left')>-1{
”它可能是由其他原因引起的,请共享一个JSFIDLE供我们检查@LucaDetomiAlmost perfect!:-)但是如果cms也应用其他内联样式,如宽度和高度,如何仅删除“float:left”声明?mhmmm Firebug返回此消息:“
TypeError:$(…)。如果($(this.attr('style')。indexOf),则未定义attr(…)('float:left')>-1{
“它可能是由其他原因引起的,请共享一个JSFIDLE供我们检查@lucadetomiohh真的很有趣…..我完全不知道这类事情!!!!:-)总是喜欢css方法+1:)哦,真的很有趣……我完全不知道这种事情!!!!:-)总是喜欢css方法+1:)