我有一些像这样的代码
<span id="$RsC" class="menu" title="Action menu" onclick="menu(\''.$RsC.'\')">click</span>
function menu(id){
var d = document.getElementById(id);
d.innerHTML ='<a href="somthing;iframe=true&width=400&height=170" rel="prettyPhoto[iframe]" >Doesnt work</a>';
}
<script type="text/javascript" charset="utf-8">
jQuery.noConflict();
jQuery(document).ready(function($) {
$(".pp_pic_holder").remove();
$(".pp_overlay").remove();
$(".ppt").remove();
$(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme:'h0mayun'});
});
</script>
问题是,点击“点击”并编写html链接后,prettyPhoto插件无法加载
任何帮助将不胜感激。
EDIT ------------------- 该死的你是冲突再次jquery冲突,但为了让它工作我改变功能:
<script type="text/javascript" charset="utf-8">
jQuery.noConflict();
jQuery(document).ready(function($) {
$(".pp_pic_holder").remove();
$(".pp_overlay").remove();
$(".ppt").remove();
$(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme:'h0mayun'});
});
</script>
function menu(id){
var d = document.getElementById(id);
d.innerHTML ='<a href="somthing;iframe=true&width=400&height=170" rel="prettyPhoto[iframe]" >Doesnt work</a>';
jQuery.noConflict();
jQuery(document).ready(function($) {
$(".pp_pic_holder").remove();
$(".pp_overlay").remove();
$(".ppt").remove();
$(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme:'h0mayun'});
});
}
答案 0 :(得分:1)
它不会以这种方式工作。在页面加载后,您可以为页面上的现有元素初始化prettyPhoto。当你插入一个新元素时,prettyPhoto插件对它一无所知,因为它已经附加了&#34;本身就存在于以前的元素中。您必须在页面上的所有更改后初始化prettyPhoto,或在更改更新的元素后附加它。喜欢这个
function menu(id){
var d = document.getElementById(id);
d.innerHTML ='<a href="somthing;iframe=true&width=400&height=170" rel="prettyPhoto[iframe]" >Doesnt work</a>';
$('a', d).prettyPhoto({theme:'h0mayun'});
}
ps:我用prettyPhoto的例子做了一个简单的测试,它正在运行
function menu(id){
var d = document.getElementById(id);
d.innerHTML ='<a href="images/fullscreen/3.jpg" rel="prettyPhoto[gallery1]">Test link</a>';
$('a', d).prettyPhoto();
}
答案 1 :(得分:0)
如果您在onClick函数之前执行此$(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme:'h0mayun'});
。
在编写对象的html之后,您必须再次执行此操作,以便插件再次初始化。