通过 JavaScript 获取 html 中的行号
Get line number in html by JavaScript
我已经突出显示了CodeRay的Ruby代码,现在我想知道用户点击了哪个行号。此行号应对应于源代码中的行 nuber。哪种方法最好?
这是我解决这个问题的方法。我通过CodeRay生成了带有数字的html。但是CodeRay在官方网站上没有准确的文档,所以在浏览了CodeRay的代码后,我把它做了这样:
content = CodeRay.scan(file.read, :ruby).div(:css => :class,
:line_numbers => :inline)
在我的情况下,模式:line_numbers => :table
无法正常工作,我应该使用:inline
模式。如果你不喜欢html页面中的数字,我想你可以通过css或javascript删除它。然后我写了小的javascript函数:
$('span').not('.no').click(function(e) {
var target = $(e.target);
target.effect('highlight', {}, 'slow');
var i = 0;
var prev_element = target.prev();
var element;
while (i++ < 10) {
element = $(prev_element[0]).context;
if (element.className == "no") break;
prev_element = prev_element.prev();
}
if (i > 9) {
alert("Some problem with the finding number line");
}
else {
var line_number;
if (element.children.length > 0) line_number = element.children[0].innerHTML;
else line_number = element.innerHTML;
alert(line_number);
}
e.stopPropagation();
})
任何建议和改进将不胜感激。
相关文章:
- 来自文本输入null的html javascript变量
- Html/Javascript-如何屏蔽除英国以外的所有欧盟国家,并允许所有非欧盟国家
- html+javascript:如何在某些条件下禁用dropdownlist中的null选项
- 在HTML/JavaScript中,有没有一种方法可以在图像开始加载时知道图像的最终布局尺寸
- HTML/Javascript表单会自动重置
- html/javascript中的可拖动文本
- 在HTML/JavaScript中减去两个数字
- 基本的HTML Javascript程序.这是怎么回事
- 一个html/javascript'小工具'知道用户何时单击了小部件外的任意位置
- HTML/JavaScript拖动&Drop-是否可以使重影图像*NOT*看起来'冲洗掉'
- 在HTML/Javascript文件中获取App Inventor 2变量值
- HTML/JavaScript表格标题
- 如何修复在浏览器中打开后出现在屏幕上的html/Javascript代码
- 在HTML JavaScript头部分运行Google脚本函数
- 如何在 html/javaScript/Jquery 中“浏览文件夹”
- 带有消息html/javascript的进度条
- 在html/javascript中请求撤消/重做事件
- 使用HTML/Javascript表单使用ActiveXObject创建带有嵌入图像的outlook电子邮件
- 使用html/javascript启动小部件
- 移动html/javascript编程中的变量传递