Sch*_*hof 12 html fogbugz hyperlink
我正在手工维护一个HTML文档,我正在寻找一种方法来自动在表格中的文本周围插入一个链接.让我说明一下:
<table><tr><td class="case">123456</td></tr></table>
Run Code Online (Sandbox Code Playgroud)
我想在我们的错误跟踪系统(顺便说一句,就是FogBugz)中自动使用类"case"的TD中的每个文本链接到该案例.
所以我希望将"123456"更改为此表单的链接:
<a href="http://bugs.example.com/fogbugz/default.php?123456">123456</a>
Run Code Online (Sandbox Code Playgroud)
那可能吗?我玩过:before和:after伪元素,但似乎没有办法重复案例编号.
Dan*_*Dan 12
不是以跨浏览器的方式工作.但是,您可以使用一些相对简单的Javascript来实现这一点.
function makeCasesClickable(){
var cells = document.getElementsByTagName('td')
for (var i = 0, cell; cell = cells[i]; i++){
if (cell.className != 'case') continue
var caseId = cell.innerHTML
cell.innerHTML = ''
var link = document.createElement('a')
link.href = 'http://bugs.example.com/fogbugz/default.php?' + caseId
link.appendChild(document.createTextNode(caseId))
cell.appendChild(link)
}
}
Run Code Online (Sandbox Code Playgroud)
您可以将其应用于类似的内容onload = makeCasesClickable
,或者只是将其包含在页面的末尾.
Owe*_*wen 10
这是一个特定于您发布的HTML 的jQuery解决方案:
$('.case').each(function() {
var link = $(this).html();
$(this).contents().wrap('<a href="example.com/script.php?id='+link+'"></a>');
});
Run Code Online (Sandbox Code Playgroud)
实质上,在每个.case元素上,将获取元素的内容,并将它们放入包裹它的链接中.