【问题标题】:Loop through children of current node in TinyMCE在 TinyMCE 中循环当前节点的子节点
【发布时间】:2012-02-02 02:15:53
【问题描述】:

假设我在 TinyMCE 中选择了一个特定的表,如下所示:

    var ed = tinyMCE.activeEditor;
    var selection = ed.selection.getContent();
    var element = ed.dom.getParent(ed.selection.getNode(), 'table');

如何循环遍历其中的 tr 元素?

我怀疑其中一种方法可能是相关的,但我对课程很陌生,无法理解如何应用它们:

TinyMCE select(): http://www.tinymce.com/wiki.php/API3:method.tinymce.dom.DOMUtils.select

TinyMCE getAll(): http://www.tinymce.com/wiki.php/API3:method.tinymce.html.Node.getAll

【问题讨论】:

    标签: javascript tinymce


    【解决方案1】:

    您可以像普通的 html 节点一样遍历 tinymce 中的任何节点,因为它们实际上是普通的 html 节点。

    这样就足够了:

    var ed = tinyMCE.activeEditor;
    var element = ed.dom.getParent(ed.selection.getNode(), 'table');
    
    var child = element.firstChild;
    while(child){
        if(child.nodeName.toLowerCase() == 'tr'){
            //do your stuff here
        }
        child = child.nextSibling;
    }
    

    【讨论】:

      【解决方案2】:

      var element 没有属性childNodes 吗?它是直接子元素的数组。其中每一个都将进一步具有属性,您会对nodeName 感兴趣。做一个递归函数进行搜索(每个节点还有childNodes),直到找到nodeName=="TR"

      顺便说一句,如果您有兴趣,使用 jQuery 会更容易。

      http://www.w3schools.com/htmldom/dom_methods.asp

      http://www.w3schools.com/htmldom/dom_nodes_info.asp

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-06
        • 1970-01-01
        • 1970-01-01
        • 2016-03-13
        • 2013-09-17
        • 1970-01-01
        • 1970-01-01
        • 2013-03-27
        相关资源
        最近更新 更多