使用Javascript删除HTML中的背景颜色和字体颜色
我正在改进TinyMCE编辑器,并希望在forecolor和backcolor中添加按钮默认颜色。 这是我如何获得具有随机风格的背景颜色的选定文本:
outer = tinyMCE.activeEditor.selection.getNode().outerHTML;
例如,可能有这样的事情:
sadasdasdsasdasda sdasdasda sdasd asdasdasdas dasdasd
我已经尝试过jQuery中的.each
,但没有用。 这是实际代码:
$(outer).each(function() { $(this).css({'background-color': 'transparent'}); });
我不是Javascript中的高手,也不是jQuery中的高手。 我该怎么做才能从outer
去除所有background-color
?
像这样使用
$("*").each(function () { $(this).css('background-color', 'transparent'); });
演示
编辑
var a='sadasdasdsasdasdasdasdasdasdasdasdasdasdasdasdasd
'; var outer=$(a); outer.find("*").css('background-color','transparent'); $("div").append(outer);
更新小提琴
所有需要的是插件中的编辑function( plugins/textcolor/plugin.js
)。 然后结果将是:
function onPanelClick(e) { var buttonCtrl = this.parent(), value; if ((value = e.target.getAttribute('data-mce-color'))) { buttonCtrl.hidePanel(); buttonCtrl.color(value);); if (value == 'transparent') { tinyMCE.execCommand("RemoveFormat"); } else { editor.execCommand(buttonCtrl.settings.selectcmd, false, value); } } }
之后,编辑tinymce.js
也是必需的。 所有需要的是编辑器removeformat
,例如:
removeformat: [ {selector: 'span', styles: ['background-color'], remove: 'empty', split: true, expand: false, deep: true} ]
( FOR OTHER USERS )为面板添加新颜色,在循环前推荐的函数renderColorPicker()
插入此代码:
function renderColorPicker() { ... html += ''; html += ( '' + '' + 'Default color' + ' ' ); html += ' '; for (y = 0; y < rows; y++){ ...