2014-12-20 35 views
0

我花了相当一段时间看着这个,但是,我反复发现每一个我尝试过的方法的问题。我使用的是稍微修改过的WordPress版本,它可以从URL和一些文件/文件夹名称中删除'wp-'。这适用于除了垂直显示工具栏的TinyMCE编辑器以外的各个方面。我发现删除元素内联CSS解决了这个问题。下面的代码是一种编辑HTML代码:Javascript删除样式来纠正布局

<div id="wp-content-editor-container" class="wp-editor-container”> 
<div id="ed_toolbar" class="quicktags-toolbar" style="position: absolute; top: 0px; width: 0px;"> 

我所寻找的是一个方法,以消除部分:

style="position:absolute; top: 0px; width: 0px;" 

从元素。最初我试图从WordPress中删除它,但是我一直无法找到它的生成位置。我尝试了一些使用Javascript的方法,但是它们会产生错误和/或不起作用。然而,我会说,这可能只是我正在做的事情,因为我没有使用Javascript的经验。我尝试了以下方法。


第一次尝试将包括以下JavaScript作为一个文件:

var toolbar=document.getElementById("ed_toolbar"); 
toolbar.style.position=null; 
toolbar.style.width=null; 
toolbar.style.min-width=null; 

然而,由此产生的误差:

Uncaught ReferenceError: Invalid left-hand side in assignment 

所以我改变了代码此:

var toolbar=document.getElementById("ed_toolbar"); 
toolbar.removeAttribute("style"); 

然而,这将产生以下错误:

在此
Uncaught TypeError: Cannot read property 'removeAttribute' of null 

任何想法将不胜感激。

+1

你是否等待文档被加载?当您尝试删除属性时,听起来像ed_toolbar不存在。无论如何,你可以通过CSS解决这个问题,只需重新设置样式,并添加!对规则很重要。异步插入编辑器 –

+0

。这看起来像是一个可以使用直接的CSS在骑上完成的事情的很多东西 – charlietfl

+0

是否在iframe中添加了tinymce编辑器? – Makaze

回答

0

试试这个 在窗口负载

$("#ed_toolbar").removeAttr("style"); or 
$("#ed_toolbar").attr('style',null); 

JS FIDDLE

+0

这可能不会起作用,因为我认为浏览器不会让您摆脱元素的整个'style'对象。 – Pointy

0
如果你想使用jQuery和你不知道的元素被加入后的页面最初加载,你可以先选择

div元素是它上面的一个级别。在你的例子中,这将是一个ID为wp-content-editor-container的div。

的JavaScript/JQuery的:

//remove the style from the #ed_toolbar div element 
    $("#wp-content-editor-container #ed_toolbar").attr("style",""); 

现在,如果你不能确定是否#的wp-content-编辑器存在时,第一次加载页面,然后你可以在你的下面的代码来代替:

//remove the style from the #ed_toolbar div element 
    $("body #ed_toolbar").attr("style","");