setAttribute()无效?

时间:2012-07-26 05:23:09

标签: javascript css shadowbox

我正在尝试在my site上向Shadowbox添加几个导航“窗格”。我找到了以下一些代码,这是有效的,但依赖于相当多的内联CSS。我试图把它移到shadowbox.css,但我似乎无法让它工作。这是代码:

var cssNavButtons = {cursor:"pointer", position:"absolute", width:200, height:"100%", top:0, "z-index":400};
var navBtnRight = $("<div/>").css(cssNavButtons).css({right: 0, background:"url('images/nav-right.png') center center no-repeat"}).click(function(){Shadowbox.next();});
var navBtnLeft = $("<div/>").css(cssNavButtons).css({left: 0, background:"url('images/nav-left.png') center center no-repeat"}).click(function(){Shadowbox.previous();});
$("#sb-body-inner").prepend(navBtnRight).prepend(navBtnLeft);

我试图将vars navBtnRight和navBtnLeft设置为使用外部CSS文件,但无济于事:

var navBtnRight = $("<div/>").setAttribute("class","sb-bignav").setAttribute("id","sb-bignav-right").click(function(){Shadowbox.next();});

任何人都可以告诉我为什么这不起作用?谢谢!

2 个答案:

答案 0 :(得分:6)

你似乎在使用jQuery,在这种情况下你需要.attr() method(适用于jQuery对象),而不是.setAttribute() method(适用于DOM元素)。

虽然要添加一个课程,我会使用.addClass("sb-bignav")而不是.setAttribute("class","sb-bignav")

答案 1 :(得分:2)

尝试使用

element.setAttributeNS("null","attribute_name",value) .