首页 > 解决方案 > 关于 CSS 边距宽度 JQuery

问题描述

我想用 JQuery 控制边距,例如,如果 Paragraph 的类 "mt60" 没有.mt60{margin-top:60px;},则 Paragraph 有 margin-top:60px。仅由 JQuery 控制。

https://codepen.io/selucky/pen/BaypmaM

<script
  src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>

<p class="mt60 ml30">Lorem ipsum</p>
$("[class*='mt'], [class*='mb'], [class*='ml'], [class*='mr']").each(function(){

        var margin = $(this);
            num = $(margin).attr("class").match(/\d+0/);
            result = num + "px";

        if($("*").is(margin) + num){

            if($(margin).is("[class*='mt']")){
                $(this).css("margin-top", result);
            }

            if($(margin).is("[class*='mb']")){
                $(this).css("margin-bottom", result);
            }

            if($(margin).is("[class*='ml']")){
                $(this).css("margin-left", result);
            }

            if($(margin).is("[class*='mr']")){
                $(this).css("margin-right", result);
            }
        }
    });

为什么这个段落的 margin-left 是 60px?

我不想要答案,我只想要搜索的提示或关键字。

我尝试了很多次搜索,可能有“正则表达式”、“exec()”、“text()”、“filter()”、各种属性选择器等方式。

标签: jquery

解决方案


推荐阅读