我有这种风格的HTML
<p class="paragraph" style="text-indent: 40px" align="justify" id="p5"> <span style="color:black"><a name="art1§2"></a>test<u><sup>o</sup></u> here comes a big text and blah blah lorem ipsum etc....</span>
<div id="c5" class="spaceforOtherText"></div></p>
我正在使用此功能突出显示并获取PARAGRAPH ID(我也需要它);
function changecolor(color) {
var selection;
//Get the selected stuff
if(window.getSelection)
selection = window.getSelection();
else if(typeof document.selection!="undefined")
selection = document.selection;
//Get a the selected content, in a range object
var range = selection.getRangeAt(0);
//If the range spans some text, and inside a tag, set its css class.
if(range && !selection.isCollapsed)
{
if(selection.anchorNode.parentNode == selection.focusNode.parentNode)
{
var span = document.createElement('span');
span.style.color =color;
range.surroundContents(span);
var x = window.getSelection()
var z = x.anchorNode.parentNode
//o que vai ta dentro do p em html
var html = z.parentNode.innerHTML;
var id = z.parentNode.id;
alert(z.parentNode.innerHTML);
alert(z.parentNode.id);
Android.save(id, html);
}
}
但是这段代码不允许我编辑文本颜色两次,我的意思是,如果我有这个文字:
<span style"color:red">This is a sample text</span>
如果我想更改&#34;样本&#34;蓝色,我不能,没有任何反应,它看起来像父跨度阻止它,即使跨度是我要改变颜色的文本内,我不能= /
它的问题&#34;在javascript代码中?
我如何保证它会返回我,有时它会返回null,我认为z.parentNode
100%保证
答案 0 :(得分:0)
CSS在属性,元素概念中起作用。像class,id,name等属性和div,span,p等元素。你可以通过使用属性在元素中更改值。
作为您的问题,您可以使用多个范围用于前 -
<span style"color:red">This is </span>
<span id='anyid'>a sample</span>
<span id='anyid'>text</span>
..通过这样做,您可以轻松更改样品的颜色。