jquery - 如何简化我的 Jquery 代码

标签 jquery css

我正在努力让我的代码不那么难看。这里有很多if语句和重复代码。主要区别在于 insertBefore 和 prependTo 单独更改了几个 css 属性。有什么建议可以在这里简化我的代码吗?太感谢了。

if($element.closest('div').hasClass('links')){
    $(document.createElement('img'))
        .attr({src:'inc/images/bubble_anim.gif',  'class': 'helpImg'})
        .insertBefore($element)
        .css({'position':'absolute',
            'z-index':99,
            'top': topPos+30,
            'left': leftPos
         })

     return true;
 }

 if($element.attr('id')=='option'){
     $(document.createElement('img'))
         .attr({src:'inc/images/bubble_anim.gif',  'class': 'helpImg'})
         .prependTo($element)
         .css({ 'z-index':99  })

     return true;
 }           

 //if the element is a td element, using propendTo method.
 if($element.is('td')){
     $(document.createElement('img'))
     .attr({src:'inc/images/bubble_anim.gif',  'class': 'helpImg'})
     .prependTo($element)
     .css({'position':'absolute',
         'z-index':99,
         'top': topPos,
         'left': leftPos
     })

     return true;
}

//regular elements...
$(document.createElement('img'))
    .attr({src:'inc/images/bubble_anim.gif',  'class': 'helpImg'})
    .insertBefore($element)
    .css({'position':'absolute',
        'z-index':99,
        'top': topPos,
        'left': leftPos
    })

最佳答案

这是我的看法:

<style>
    .helpImg{
        position: absolute;
        z-index: 99;
    }   
</style>

var image = $("<img src='inc/images/bubble_anim.gif' class='helpImg'>");

if ($element.closest('div').hasClass('sub_links')) {

    image.css({
       'top': topPos+30,
       'left': leftPos
    }).insertBefore($element);

} else if ($element.attr('id')=='asmnt_option_label_q_count') {

    image.prependTo($element);          

} else {

    image.css({
        'top': topPos,
        'left': leftPos
    }).prependTo($element);

}

关于jquery - 如何简化我的 Jquery 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12083091/

相关文章:

jquery - 使用 jQuery closest 或 next 切换选择列表?

javascript - 区分具有相同类、id和父类的表行

javascript - 关闭主体点击事件上的工具提示 - 无法正常工作

javascript - 在悬停的 li 元素上相对于 li 的位置显示一个隐藏的响应式 div

CSS3技巧从中心切出div,如 'V'形状

html - 如何在网站中嵌入光栅字体?

java - 多人游戏的实现 - Jquery 应用程序级别?

javascript - 多个时间间隔的jquery图像 slider

html - 显示带有 iframe 全宽页面的 YouTube 视频

html - 为什么不清除 :both eliminate this overlap?