0

我经常看到在 jquery 中使用它,$(this)但在这里this使用

演示

$( "p" ).after(function() {
return "<div>" + this.className + "</div>";
});

如果我这样使用它是行不通的

$( "p" ).after(function() {
    var cnam = $(this).class();
    return "<div>" + cnam + "</div>";
});

还有一个问题,为什么插入的 div 没有用红色背景着色?

4

3 回答 3

1

class();在 jQuery 中没有

您可以使用

$(this).attr('class');

来上课。

于 2013-09-27T11:27:01.187 回答
1

this是一个 DOM 元素,它具有className属性。

jQuery 不公开.class()方法。不过,它确实有$(element).prop('class')

将 DOM 元素转换为 jQuery 对象:

var $el = $(this);

或者反过来:

var el = $(this)[0]; //or var el = $(this).get(0);
于 2013-09-27T11:28:04.803 回答
0

你需要这样做,

$( "p" ).after(function() {
    var cnam = $(this).attr('class');
    return "<div>" + cnam + "</div>";
});

Jquery没有这样的功能.class()

于 2013-09-27T11:28:13.307 回答