Получить якорь в документе ckeditor - PullRequest
0 голосов
/ 15 февраля 2011

Я работаю с ckeditor, и мы создаем собственный плагин для определения ссылки на якорь на странице.Теперь, когда я пытаюсь получить все якоря на своей странице, ничего не возвращается.

Мой HTML выглядит следующим образом:

<p>
    <a name="anchor-anchor"></a></p>

Но когда я пытаюсь получить все якоря в документе, какэто:
editor.document.getElementsByTag("a")

ничего не возвращается.Но когда я размещаю нормальный якорь, приведенный выше код найдет это.Я что-то не так делаю?

С уважением!

1 Ответ

3 голосов
/ 15 февраля 2011

Это прямо из диалога ссылок:

    // Find out whether we have any anchors in the editor.
    // Get all IMG elements in CK document.
    var elements = editor.document.getElementsByTag( 'img' ),
        realAnchors = new CKEDITOR.dom.nodeList( editor.document.$.anchors ),
        anchors = retval.anchors = [];

    for ( var i = 0; i < elements.count() ; i++ )
    {
        var item = elements.getItem( i );
        if ( item.data( 'cke-realelement' ) && item.data( 'cke-real-element-type' ) == 'anchor' )
            anchors.push( editor.restoreRealElement( item ) );
    }

    for ( i = 0 ; i < realAnchors.count() ; i++ )
        anchors.push( realAnchors.getItem( i ) );

    for ( i = 0 ; i < anchors.length ; i++ )
    {
        item = anchors[ i ];
        anchors[ i ] = { name : item.getAttribute( 'name' ), id : item.getAttribute( 'id' ) };
    }
...