2010-08-11 19 views
0

我刚开始使用jQuery,但有点卡住了。我动态在Javascript中建立一个表,我添加类无时无刻细胞(造型),所以我想用addClass功能:在“native”html对象上使用jQuery

var row = table.insertRow(-1); 
var cell = row.insertCell(0); 
cell.addClass('boldRow'); 

但这不起作用。我知道你可以使用魔术$('')函数来使用jQuery,但是我可以在'native'HTMLElement引用上使用它吗?

回答

3

$(cell).addClass应该做的伎俩 - 为什么你不尝试它,让我们知道。

在任何情况下,您必须使用$()加载jQuery框架才能访问addClass

+0

谢谢,我不知道,你可以通过DOM对象以及字符串。 – 2010-08-11 19:38:54

+0

没问题,jQuery往往喜欢这样的惊喜:) – 2010-08-11 19:45:12

+0

是的,它已经恢复了我对javascript的信心。 – 2010-08-11 19:52:42

1

您只需将元素放入就像是一个字符串。

$(someElementReference).addClass('boldrow'); 

如果这是你所拥有的,你也可以传入一组元素。

下面是一个例子:http://jsfiddle.net/qS473/

+0

这是一个很棒的网站+1 – 2010-08-11 19:42:02

+0

@Callum - 是的,它非常方便。大量的设置在左边来完成加载不同库的工作。 – user113716 2010-08-11 19:43:27

1

是的,你可以在本地DOM传递对象为jQuery功能,它会创建一个从DOM对象jQuery对象:

$(cell).addClass('boldRow'); 

但您不需要jQuery将CSS类添加到DOM对象!

cell.class += ' boldRow'; 
+0

当然不是 - 但jQuery版本好多了:) – 2010-08-11 19:37:33

+0

我知道 - 我现在正在这样做:)但每次都这样做非常烦人,而且这是非常复杂的表格。不管怎么说,还是要谢谢你。 – 2010-08-11 19:40:15

+0

雅各布 - 不要忘记修复你的DOM API版本的IE6。 :O) – user113716 2010-08-11 19:40:32

0

是的,你可以选择用$()例如,$( '身体')或$( 'HTML')等。由于它只是一个框架,还可以使用所有的HTML元素任何其他Javascript你可以想到解决这个问题。

0

通常创建一个新的元素,当我做的第一件事情是这样的:

var newDivJQObject = $(document.createElement('div')) 
    .attr('id', '[uniqueID]') 
    .addClass('[className]');