在javascript中使用锚标记包装动态生成的td



请帮忙!我正在从外部域获取RSS提要,我正在使用javascript为每个项目(标题,日期,链接)生成's,现在'链接'项目作为属性而不是链接,所以我如何才能将此链接作为锚标记或将其链接到所需的链接?也就是说,我如何用锚标记包装这个内容?

提前谢谢你,我很感激你的帮助。

这是我的脚本:
for (var i = 0; i < items.length; i++) {
        var item = items[i];
        // Get the title from the element.  firstChild is the text node containing
        // the title, and nodeValue returns the value of it.
        var title = item.getElementsByTagName('title')[0].firstChild.nodeValue;
        var pubDate = item.getElementsByTagName('pubDate')[0].firstChild.nodeValue;
       var link =item.getElementsByTagName('link')[0].firstChild.nodeValue;//
        //var link ='<a href="' + item.getElementsByTagName('link')[0].firstChild.nodeValue + '">';//

        var table = document.createElement('table');
        var tr = [];
        var td1 = document.createElement('td');
        var td2 = document.createElement('td');
        var td3 = document.createElement('td');

        var text1 = content.appendChild(document.createTextNode(title));
        var text2 = content.appendChild(document.createTextNode(pubDate));
        var text3 = content.appendChild(document.createTextNode(link));

        for (var i2 = 1; i2 < 4; i2++) {
            tr[i2] = document.createElement('tr');
            for (var j = 1; j < 4; j++) {
                td1.appendChild(text1);
                td2.appendChild(text2);
                td3.appendChild(text3);
                tr[i2].appendChild(td1);
                tr[i2].appendChild(td2);
                tr[i2].appendChild(td3);
            }//End of nested FOR
            table.appendChild(tr[i2]);
        } // end of Parent FOR
        tablearea.appendChild(table);

我想有更好的方法,如使用div s而不是表,但在这个问题的约束下,是否可以简单地具有与锚/链接相同的行为?如果是这样,也许您可以简单地将这段代码添加到循环中。

Javascript:

tr[i2].className="link" //class for some UX hints
tr[i2].onclick=(function(link){
  return function(e){
    e.preventDefault();
    location.href=link
  }
})(link)
CSS:

tr.link {cursor:pointer}
tr.link:hover {background:#FF0}

这应该允许用户单击行上的任何位置来跟随链接

例子链接

最新更新