Add dynamic class to element

huangapple go评论85阅读模式
英文:

Add dynamic class to element

问题

Sure, here's the translated part:

嗨,我有名为“fx-...”的变量类,我想添加一个没有后缀“fx-”的类名。
例如,“fadeUp”。
我该怎么做?

<h1 class="way-animate fx-fadeUp">Title</h1>
英文:

Hi I have variable classes called "fx -..." I would like to add a class named without suffix "fx-".
For example "fadeUp".
How can I do?

&lt;h1 class=&quot;way-animate fx-fadeUp&quot;&gt;Title&lt;/h1&gt;

答案1

得分: 0

你的问题不太清楚,我认为你想知道如何添加动态类名。你能详细说明你的问题吗?

假设你有一个变量

let cls = 'fx-fadeUp';

你可以使用JavaScript轻松去除 fx-,像这样

cls = cls.substr(3, cls.length); // 现在 cls = 'fadeUP'

然后你还可以使用JavaScript来添加类,就像这样

document.querySelector('.way-animate').classList.add(cls);

或者,如果你想选择所有以 fx- 开头的类,你也可以使用CSS,像这样

[class^="fx-"] {
    /* 你的CSS样式 */   
}

和/或者,如果你使用jQuery,有内置函数可以用来添加和移除类:addClassremoveClass

$(selector).addClass('className');
$(selector).removeClass('className');
英文:

Your question isn't clear, I think you want to know 'how to add dynamic class name'. Can you please elaborate your what you asking for.

suppose you have a variable

let cls = &#39;fx-fadeUp&#39;;

You can easily remove fx- using javascript like this

cls = cls.substr(3, cls.length); // now cls = &#39;fadeUP&#39;

Then you can also add class using javascript like this

document.querySelector(&#39;.way-animate&#39;).classList.add(cls);

OR, if you want to select all classes starting with something like fx-, you can do it with css also like this

[class^=&quot;fx-&quot;] {
    /* Your css styles */   
}

AND/OR, if you use jQuery, there is build in function for to add & remove class: addClass & removeClass

$(selector).addClass(&#39;className&#39;);
$(selector).removeClass(&#39;className&#39;);

答案2

得分: 0

尝试这样做:

    var prefix = "fx-";
    var suffix = "fadeUp";
    var strClass = prefix + suffix;
    $("h1").addClass(strClass);
英文:

try this:

var prefix = &quot;fx-&quot;;
var suffix  = &quot;fadeUp&quot;;
var strClass = prefix+suffix;
$(&quot;h1&quot;).addClass(strClass);

答案3

得分: 0

使用jQuery,您可以使用addClass函数:

// 定位元素
var h1el = $('h1.way-animate');

// 添加CSS类
h1el.addClass('another-class');

参考链接:https://api.jquery.com/addClass/

英文:

With JQuery, you could use the addClass function:

// locate element
var h1el = $(&#39;h1.way-animate&#39;);

// add css class
h1el.addClass(&#39;another-class&#39;);

Ref.: https://api.jquery.com/addClass/

答案4

得分: 0

我假设您想要用类的其他部分替换任何fx-*类。

首先,我们获取H1类的列表,然后进行循环,当找到匹配项时,我们只需执行我们想要的操作。
如果您想保留它,只需删除我的代码中的removeClass行。

var classList = $('h1').attr('class').split(/\s+/);
$.each(classList, function(index, item) {
    if (item.includes('fx-')) {
        $("h1").removeClass(item);
        var newclass = item.replace(/fx-/gi, "");
        $("h1").addClass(newclass);
    }
});

[已更新] 您可以在这里查看:https://jsfiddle.net/k86oqwn9/1/

英文:

I assume you want to replace any fx-* class with the other portion of the class.

First we get the list of classes of H1, then we loop and when we find a match we just do whatever we like.
Well if you want to keep it, you just remove the removeClass line of my code.

var classList = $(&#39;h1&#39;).attr(&#39;class&#39;).split(/\s+/);
$.each(classList, function(index, item) {
    if (item.includes(&#39;fx-&#39;)) {
        $(&quot;h1&quot;).removeClass (item);
        var newclass=item.replace(/fx-/gi, &quot;&quot;);
        $(&quot;h1&quot;).addClass(newclass);
    }
});

[UPDATED] You can Have a look here : https://jsfiddle.net/k86oqwn9/1/

huangapple
  • 本文由 发表于 2020年1月6日 23:46:51
  • 转载请务必保留本文链接:https://go.coder-hub.com/59615035.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定