1

我需要删除嵌套<b></b>标签。查看生成的css,你就会明白问题所在:

<div class="highlight" contenteditable="true">
    ahuasdhuasdhuasdhu 
    <b>
       <b>#</b>
       huadshuashud
    </b>
</div>

我想删除里面有'#'的标签,但我不想删除'#'。(注意主题标签可以是任何其他值)。为此,我编写了以下代码:

// Highlight already been declared and just is a simple $('.highlight').
highlight.children('b').children('b').contents().unwrap();

现在我有以下代码:

<div class="highlight" contenteditable="true">
    ahuasdhuasdhuasdhu 
    <b>
        "#"
        "huadshuashud"
    </b>
</div>

我想加入这两个字符串,因为当我双击它时,它只选择“#”或“huadshuashud”,但我希望标签内的所有内容都被选中。

有什么方法可以改进我的方法或连接这两个字符串吗?

4

2 回答 2

1

尝试:

$('.highlight > b').html(function(){
  return $(this).text();
});

这会给你这个:

<b>
  #
  huadshuashud
</b>
于 2013-10-09T02:26:05.170 回答
1

选择元素中的文本(类似于用鼠标突出显示)

在这里你有一个准备好的功能。编辑开头以便能够传递对象而不是 id 并添加处理程序:

$(".highlight").ondblclick(function(){
    SelectText(this)
})

function SelectText(elementObject) {
    // here choose function you like and replace text variable
    text = elementObject;
    ...
于 2013-10-09T03:14:15.977 回答