在每个内部替换不能使用我自己的标签

时间:2014-09-21 18:57:12

标签: javascript jquery html

您好我有一个函数,它使用我自己的标记文本并将此标记转换为:

//<link src="" title=""> -> <a href="">title</a>
function ProceedLinkTag(text) {
var items = text.filter("link");

items.each(function () {
    var currentElement = $(this);
    var title = currentElement.attr("title");
    var source = currentElement.attr("src");

    var newElement = $("<a>" + title +"</a>");
    newElement.attr("href", source);

    $(this).replaceWith("<a href='" + source + "'>" + title + "</a>"); //don't work
});

}

它工作正常(即使没有关闭标签也检测到我自己的标签),我没有得到任何错误,但它不会替换带()。 试试吧:

var text = "<link src='http://lenta.ru/' title='title'>";
ProceedLinkTag($(text));
alert(text);

我也尝试使用close标签:

var text = "<link src='http://lenta.ru/' title='title'/>";
ProceedLinkTag($(text));
alert(text);

但它也不起作用。

1 个答案:

答案 0 :(得分:0)

@sqykly找错误: 我的实例中的文本不是文档的一部分。我改变了它,现在它起作用了。