我想将<sup>1</sup>
之类的内容转换为<sup><a href="..." class="...">1</a></sup>
我认为最简单的方法是先添加<a href....>
并附加</a>
,但附加内容不会出现在内容(1
)之后......
我知道我可以做一秒.each()
并将1
存储为变量,然后执行.html()
,但我认为这不是最佳做法,因为它涉及另一个循环。
谢谢!
答案 0 :(得分:6)
@ Daff的回答应该可以解决你的问题。它不起作用的原因是因为你做了:
$(this).prev(".article").find("sup").prepend("<a href=\"#references" + (i + 1) + "\" class=\"references\">");
立即添加。由于未关闭的标记无效,浏览器将通过为您关闭标记来“纠正”它。
然后你尝试在末尾添加一个关闭标记,如果没有打开标记,则该标记无效,因此浏览器会忽略它。
答案 1 :(得分:4)
答案 2 :(得分:1)
答案 3 :(得分:1)
我认为你要找的是“wrapInner()”。它接受一个元素的内容,并用你传入的元素包装它。有些东西沿着
行$('sup').wrapInner('<a href...></a>')
答案 4 :(得分:0)
试试这个:
$(this).prev(".article").find("sup").append('<a>' + $(this).prev(".article").find("sup").text() + '</a>');