Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用SyntaxHighlighter获取总行数_Javascript_Textarea_Syntax Highlighting_Syntaxhighlighter - Fatal编程技术网

Javascript 如何使用SyntaxHighlighter获取总行数

Javascript 如何使用SyntaxHighlighter获取总行数,javascript,textarea,syntax-highlighting,syntaxhighlighter,Javascript,Textarea,Syntax Highlighting,Syntaxhighlighter,是否可以使用SyntaxHighlighter()获取源代码的总行数 我可以使用这里定义的技术: 但也许Highlighter可以更容易地做到这一点 谢谢。我不相信有内置的解决方案,但这里有一个函数可以解决这个问题。它使用了getElementsByClassName方法,因此我认为它在IE8或更低版本上不起作用。如果愿意,可以使用您最喜欢的DOM查询库 /** * Returns the number of lines in a SyntaxHighlighter code block.

是否可以使用SyntaxHighlighter()获取源代码的总行数

我可以使用这里定义的技术: 但也许Highlighter可以更容易地做到这一点


谢谢。

我不相信有内置的解决方案,但这里有一个函数可以解决这个问题。它使用了
getElementsByClassName
方法,因此我认为它在IE8或更低版本上不起作用。如果愿意,可以使用您最喜欢的DOM查询库

/**
 * Returns the number of lines in a SyntaxHighlighter code block.
 *
 * @param {Element} node The top-level DOM element containing the code block.
 * @return {Number} The number of code lines, or 0 if not found.
 */
function getLineCount(node) {
    var codeNode;
    var containerNode;

    if (node && typeof node.getElementsByClassName === 'function') {
        codeNode = node.getElementsByClassName('code');

        if (codeNode.length) {              
            containerNode = codeNode[0].getElementsByClassName('container');

            if (containerNode.length) {
                return containerNode[0].children.length;
            }
        }
    }

    return 0;
}
jQuery版本,因为这显然是一件事

function getLineCount(node) {
    return $(node).find('.code .container').children().length;
}