私はこのような別のものを囲む1つのリンクを持っています:
<a href="#" class="video-link">
<a href="#" class="not-video-link">link</a>
</a>
jQueryを使用して、次のようにテーブルをiframeに変換できる関数を見つけました。
$(".video-link").live("click", function (e) {
e.preventDefault();
// Capture the link's HREF attribute in a variable.
var youtubeLink = $(this).attr('href');
var youtubeDiv = $(this).attr('id');
// Set the HTML (the content) of the "video destination div"
// to = your iframe, including the youtubeLink
// that the user original saved into this node.
$('#' + youtubeDiv + '').html('<iframe style="margin-left:-12px; margin-right:-12px;" frameborder="0" height="234" src="' + youtubeLink + '&autoplay=1" title="YouTube video player" width="418"></iframe>');
});
正常に動作しますが、他の「a」タグを正常に動作させる必要があります。
2番目のリンクがclass="not-video-link"
あり、通常どおりリンクを開くようにします。
ボックス全体は次のとおりです。
echo '<br />
<div id="the-video-destination-div'.$id.'" class="video-link" href="'.youtubelink(tolink($youtubevid)).'">
<table style="background-color:#EDEFF4; font-size:11px; border:1px solid #ccc;">
<tr><td><a ><img style="cursor:pointer;" align="left" src="'.$video_thumbnail.'" width="152px" height="114px" /></a></td>
<td style="vertical-align:top; width:199px; padding:5px; cursor:default; " ><font style="color: #3B5998; text-decoration:none; font-weight: bold;"><font class="youtube-title"><a id="not-video-link" style="cursor:pointer;" href1="http://www.youtube.com/watch?v='.youtubetitle($wallrow["youtubevid"]).'" target="_blank">'.$video_title.'</a></font></font><font class="link-host"><br /><a href="http://www.youtube.com">www.youtube.com</a><br /><br />'.substr($video_description,0,149).'...</font></td></tr>
</table></div><br />';
divタグ内にhrefattrを含むdivから変更しました。それは違法ですか?
私はその問題に対する解決策を見つけました。
$("a#not-video-link").click(function () {
var youtubeLink1 = $(this).attr('href1');
window.open(youtubeLink1);
event.stopImmediatePropagation();
});
$(".video-link").live("click", function(e) {
e.preventDefault();
// Capture the link's HREF attribute in a variable.
var youtubeLink = $(this).attr('href');
var youtubeDiv = $(this).attr('id');
// Set the HTML (the content) of the "video destination div" to = your iframe, including the youtubeLink that the user original saved into this node.
$('#' + youtubeDiv + '').html('<iframe style="margin-left:-12px; margin-right:-12px;" frameborder="0" height="234" src="' + youtubeLink + '&autoplay=1" title="YouTube video player" width="418"></iframe>');
});
これにより、リンクは起動する他のリンクを停止し、その逆になります。