即使内部有另一个标签,也可以获得父节点p?

时间:2014-10-29 14:57:08

标签: javascript jquery html css

我使用以下代码将p标签的类添加到.content contenteditable div(基于插入符号的位置):

var $content = $('.content'),
    $p = $content.find('p');

$content.on('keyup click', function(e) {
    var focusElement = window.getSelection().baseNode.parentElement;
    $p.removeClass('hover');
    $(focusElement).addClass('hover');
});

它适用于这样的结构:

<p>Text text</p>
<p class="hover">Text text</p>

问题出现在这样的结构上:

<p>Text text</p>
<p>Text <i>text</i></p>

p中的任何html标记似乎都会破坏代码,导致代码无法将hover类添加到p代码中。

有没有解决方法呢?

1 个答案:

答案 0 :(得分:1)

$content.on('keyup click', function(e) {
    $(window.getSelection().baseNode).closest('p').addClass('hover');
    $p.removeClass('hover');
});