すべてのリンクを見つけてリストを作成します
質問
すべてのリンク(アンカーなし)を見つけて、それらをjqueryに表示する順序でリスト内に配置するにはどうすればよいですか。
例えば:
Lorem Ipsum ドロール 座ったamet、 conectetur エリットの脂肪を抱きます。 ドネック SIT AMET IPSUM UT JUSTO FERMENTUM HENDRERIT ULTRECIES。
だから、これは次のようになります。
Lorem Ipsum
座ったamet、
エリットの脂肪を抱きます。
SIT AMET IPSUM UT JUSTO FERMENTUM HENDRERIT ULTRECIES。
基本的に私は自分のサイトにembed.lyを使用しているので、ユーザーがフォームに記入すると、YouTube/Flickrリンクが作成された場所に自動的に表示されます。私が抱えている問題は、YouTubeビデオのサムネイルが大きすぎるように見え、適切に切り替えないことです(つまり、ユーザーにサムネイルをクリックしてビデオが表示されるようにします)。 (たとえば、ユーザーがDolarリンクをクリックすると、YouTubeビデオがembed.lyサンプルのようにその下に表示されるはずです)。
PHP Markdownでサーバー側でPHPを使用しています。
埋め込みのクエリコードは次のとおりです。
<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>
ビデオリンクの追加が次の場合に私のサイトが作成します。
> <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>
長く質問してすみません。乾杯。
解決
$("#container").find("a").wrap("<li />").wrap("<ul />");
他のヒント
あなたはおそらく(「テストされていない」読む)すべての非アンカーのリンクを見つけることができます
$('a').not('[href^="#"]')
そこから、できます 包む aの要素 <ul><li>...</li></ul>
ブロック。
リンクを内容を交換したい場合は、リストが属していないため、周囲の段落(段落を使用する場合)を閉じる必要がある場合があることに注意してください。
var links = document.anchors;
また
var links = element.getElementsByTagName('a');
<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>