2013-01-17 91 views
5

我使用的是WordPress 3.5并使用子菜单创建菜单。它的结构是这样的:删除HTML元素的内联CSS

<ul class="menu"> 
    <li id="menu1">Menu 1</li> 
    <li id="menu2">Menu 2</li> 
    <li id="menu3" style="z-index:100;"> 
     Menu 3 
     <ul class="submenu"> 
      <li id="submenu1">submenu1</li> 
      <li id="submenu2">submenu2</li> 
      <li id="submenu3">submenu3</li> 
     </ul> 
    </li> 
</ul> 

问题是与子菜单的菜单,因为它给我的麻烦就增加LavaLamp的效果它会自动连接的z-index值为100,我不希望它是这样的到那些菜单。

我试图通过使用菜单使用wp_nav_menus只是喜欢这个刚创建后的jQuery编辑的z-index:

jQuery(document).ready(function(){ 
    jQuery("#menu3").css("z-index", "0"); 
}); 

但不幸的是,这是行不通的。我怎样才能删除内联的CSS样式?

+2

不工作怎么样?您将看不到从“查看源”输出中删除的z-index。 –

+0

是那个工作吗? –

回答

17

如果您想要删除使用javascript手动添加的所有内联样式,请使用removeAttr方法。

$("#elementid").removeAttr("style") 
+0

更清晰的语法和更简单的语法。我喜欢这个解决方案最好。 –

+0

非常感谢。有用。 –

+0

这个解决方案的问题是,它会删除您设置的所有CSS,但也会删除您没有设置的所有CSS。如果已经定义了样式,您将删除所有内容。 =/ – Shahor

4

复位的z-index初始值

您可以在z-index的只是恢复到它的初始值,使其表现得就像li如果没有这一样式声明:

$(function(){ 
    $('#menu3').css('z-index', 'auto'); 
}); 

你可以去香草和使用普通的JavaScript(代码应该运行后,你的菜单HTML已经加载):

// If you're going for just one item 
document.querySelector('#menu3').style.zIndex = 'auto'; 

删除作风ATTR

你可以使用jQuery删除所有的样式属性列表:

注:请记住,这将使用style属性删除已设置为你的元素的所有样式。

$(function(){ 
    $('#menu3').removeAttr('style'); 
}); 

或香草:

// Vanilla 
document.querySelector('#menu3').style = ''; 
0

这是我认为一个更好的方法,因为它仅删除z-index的风格,而不是整个样式属性。这是一个工作Fiddle

//As commented by @DA this is enough 
$("#elementid").css("zIndex","") 

//this could be useful in another situation so I will leave it :) 
$(document).ready(function() { 
    $('#menu3').attr('style', function(i, style){ 
    return style.replace(/\z-index\b[^;]+;?/g, ''); 
    }); 
}); 

希望它有帮助。

+0

你不需要为此使用正则表达式。只需将要删除的属性值设置为空白'“”' –

+0

同意@DA。 EDITED – Bema

2

如果你想删除所有内嵌样式,Pranay的答案是正确的:

$("#elementid").removeAttr("style") 

如果要删除只是一个风格的酒店,说的z-index,然后将其设置为空值:

$("#elementid").css("zIndex","") 

从jQuery的文档(http://api.jquery.com/css/):

的样式属性的值设置为空STRI ng - 例如$('#mydiv').css('color','') - 如果元素已经被直接应用,则从该元素中移除该属性,无论是通过jQuery的HTML样式属性。css()方法,或通过对style属性的直接DOM操作。