Skip to content

Instantly share code, notes, and snippets.

@lrtfm
Created May 11, 2012 16:22
Show Gist options
  • Save lrtfm/2660745 to your computer and use it in GitHub Desktop.
Save lrtfm/2660745 to your computer and use it in GitHub Desktop.
Add line number for text in element "<pre><code>".
//add line num for the code in Elenment "<pre><code>"
function addLineNum()
{
try {
var mycode = document.getElementsByTagName("code");
var space = /^[ \t\b]*$/;
//var times = mycode.length;
for (var loop = 0; loop < mycode.length; ) {
var s = mycode[loop];
var p = s.parentNode;
if (p.nodeName != "pre" && p.nodeName != "PRE") {
loop++;
continue;
}
var text = s.innerHTML.split("\n");
var newol = document.createElement("ol");
for (var i = 0; i < text.length - 1; i++) {
var newli = document.createElement("li");
//var newspan = document.createElement("span");
newli.innerHTML = text[i];
//newspan.innerHTML = text[i];
//newli.appendChild(newspan);
newol.appendChild(newli);
}
if (space.test(text[i]) == false) { // i = text.length - 1;
var newli = document.createElement("li");
newli.innerHTML = text[i];
newol.appendChild(newli);
}
p.replaceChild(newol, s);
}
//alert(mycode.length);
}
catch(err){
alert("Error Massage:" + err);
}
}
@lrtfm
Copy link
Author

lrtfm commented May 11, 2012

  1. JavaScript的数组是动态的, 调用函数replaceChild(newol, s)之后数组mycode就变化了, 具体变化视情况而定.
  2. 更正 bug: 当网页中存在非<pre>下的<code>时显示错误.
  3. 更正bug: 修复最后一行<code>有时不能显示的问题.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment