4

我有这个变量,我想给它添加一个类。我尝试了这种方法,但这绝对行不通

var someVar = '<i class="firstClass"></i>';// Html Markup to be used later.
    someVar.addClass('secondClass'); 

我需要一种不同的方法来向 html 标记添加新类。

谢谢

4

4 回答 4

3

您只能在 HTML 元素上使用 addClass,因此您需要将变量设置为 DOM 元素(例如$('<i>')):-

var someVar = $('<i>', {'class': 'firstClass'});
someVa.addClass('secondClass');
于 2013-01-09T16:40:05.353 回答
3

当我们需要从我们从其父级提取的某个 DOM 组件中获取 html 字符串时(例如:可排序的助手),那么我们可以先将该字符串转换为 jquery 对象。

例子:

var thehtml = $(ui.helper).html();
    thehtml = $(thehtml); // convert to jquery object
    thehtml.addClass("yourClass"); // we can then assign new class

    ui.helper.replaceWith(thehtml); // do something you want with it

在你的情况下

var someVar = '<i class="firstClass"></i>'; // Html Markup to be used later.
    someVar = $(someVar); // convert to jquery object
    someVar.addClass('secondClass');
于 2016-04-20T19:00:19.553 回答
2
var someVar = $('<i class="firstClass"></i>'); //embedded string in jquery object
someVar.addClass('secondClass');
于 2013-01-09T16:38:17.353 回答
1

你可以通过三种方式做到这一点:

  1. 您让您的 HTMl 标记首先执行,以便您可以获取 DOM 元素并对其进行操作。
  2. 艰难而丑陋的方式是将标记视为字符串并使用“子字符串”和/或“切片”来操作字符串。
  3. 分解标记并将其保存在字符串数组中,例如 array[0] = i class=; 数组[1] = 第一类;数组[2] = /i>;

    (我是stackoverflow的新手,因此不知道如何在答案中编写HTML,但我希望你明白我试图解释的内容)然后你可以通过简单地将类名连接到数组[1]来添加任意数量的类(数组[1] +='类名')。当你真正想要使用它时,通过添加所有位来重新调整整个标记。它仍然很丑,但你至少会得到你想要的。

于 2013-01-09T17:04:55.357 回答