如何在jQuery中找到所有链接(没有锚点)并将它们按照它们出现的顺序放在列表中。
例如:
Lorem ipsum dolor坐下,consectetur adipiscing elit。 Donec坐下来,只是发酵的hendrerit ultricies。
所以,这将成为:
Lorem ipsum
坐下来,
adipiscing elit。
坐下来ipsum ut justo fermentum hendrerit ultricies。
基本上我在我的网站上使用embed.ly,所以当用户填写表单时,youtube / flickr链接会自动显示在他创建它们的位置。我遇到的问题是youtube视频的缩略图看起来太大,并且没有正确切换(即我希望用户点击缩略图以显示视频)。 (因此,例如,如果用户点击了dolar链接,那么youtube视频应该显示在它下面,就像在embed.ly示例中一样)。
我在服务器端使用php使用php markdown。
嵌入式查询代码如下:
<script type="text/javascript">
$(document).ready(function() {
$("a").embedly({}, function(oembed, dict){
if ( oembed == null)
alert("no embedly content found");
var output = "<a class='embedly' href='#'><img src='"+oembed.thumbnail_url+"' /></a><span>"+oembed.title+"</span>";
output += oembed['code'];
$(dict["node"]).parent().html( output );
});
var anchors = $("a"); anchors.embedly(); anchors.filter("[href*=flx.me]").addClass("googlenl");
$('a.embedly').live("click", function(e){
e.preventDefault();
$(this).parents('li').find('.embed').toggle();
});
});
</script>
我的网站在添加视频链接时所做的HTML:
> <div id="content">
> <div class="youtube">
> <p><a class="embedly" href="#"><img
> src="phpForum_files/hqdefault.jpg"></a><span>UEFAChanpions
> League 2005-2006 RealMadrid vs Arsenal
> 2ndleg</span><div
> class="embed"><object height="360"
> width="640"><param name="wmode"
> value="opaque"><param name="movie"
> value="http://www.youtube.com/v/7aPGa9Gqj2c?fs=1"><param
> name="allowFullScreen"
> value="true"><param
> name="allowscriptaccess"
> value="always"><embed
> src="phpForum_files/7aPGa9Gqj2c.swf"
> type="application/x-shockwave-flash"
> allowscriptaccess="always"
> allowfullscreen="true" wmode="opaque"
> height="360"
> width="640"></object></div></p>
> </div> </div>
对于细长的问题感到抱歉。欢呼声。
答案 0 :(得分:2)
$("#container").find("a").wrap("<li />").wrap("<ul />");
答案 1 :(得分:0)
您可能(阅读“未经测试”)使用类似
之类的内容查找所有非锚定链接$('a').not('[href^="#"]')
从那里,您可以wrap <ul><li>...</li></ul>
块中的元素。
请记住,如果您想要就地替换链接,可能需要关闭周围的段落(如果使用段落),因为列表不属于那里。
答案 2 :(得分:0)
var links = document.anchors;
或
var links = element.getElementsByTagName('a');
答案 3 :(得分:0)
<p>
Lorem ipsum <a href="http://www.link1.com" rel="nofollow">dolor</a> sit amet, <a href="http://www.link2.com" rel="nofollow">consectetur</a> adipiscing elit. <a href="http://www.link3.com" rel="nofollow">Donec</a> sit amet ipsum ut justo fermentum hendrerit ultricies.
</p>
<script type="text/javascript">
$("p a").wrap("<ul><li></li></ul>");
</script>