Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当使用document.write写入href时,无法加载此文件_Javascript_Jquery_Prettyphoto - Fatal编程技术网

Javascript 当使用document.write写入href时,无法加载此文件

Javascript 当使用document.write写入href时,无法加载此文件,javascript,jquery,prettyphoto,Javascript,Jquery,Prettyphoto,我有一些这样的代码 <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&amp;width=400&amp;heigh

我有一些这样的代码

<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&amp;width=400&amp;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>
点击
功能菜单(id){
var d=document.getElementById(id);
d、 innerHTML='';
}
jQuery.noConflict();
jQuery(文档).ready(函数($){
$(“.pp_pic_holder”).remove();
$(“.pp_覆盖”).remove();
$(“.ppt”).remove();
$(“.gallery a[rel^='prettypto'])。prettypto({主题:'h0mayun'});
});
问题是,在点击“点击”并将html链接写入插件后,无法加载

任何帮助都将不胜感激

编辑------------------- 该死的冲突,这又是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&amp;width=400&amp;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'});
});
}

jQuery.noConflict();
jQuery(文档).ready(函数($){
$(“.pp_pic_holder”).remove();
$(“.pp_覆盖”).remove();
$(“.ppt”).remove();
$(“.gallery a[rel^='prettypto'])。prettypto({主题:'h0mayun'});
});
功能菜单(id){
var d=document.getElementById(id);
d、 innerHTML='';
jQuery.noConflict();
jQuery(文档).ready(函数($){
$(“.pp_pic_holder”).remove();
$(“.pp_覆盖”).remove();
$(“.ppt”).remove();
$(“.gallery a[rel^='prettypto'])。prettypto({主题:'h0mayun'});
});
}

如果您正在执行此操作,
$(“.gallery a[rel^='prettypto'])在onClick函数之前


在编写了对象的html之后,您必须再次执行此操作,以便插件将再次初始化。

并且它不会以这种方式工作。加载页面后,可以为页面上的现有元素初始化PretTo。当您插入一个新元素时,Pretto插件对它一无所知,因为它已经将自己“附加”到以前存在的元素上。您必须在页面上的所有更改后将其初始化为,或在更改后将其附加到更新的元素。像这样

function menu(id){ 
var d = document.getElementById(id); 
d.innerHTML ='<a href="somthing;iframe=true&amp;width=400&amp;height=170"  rel="prettyPhoto[iframe]" >Doesnt work</a>';
$('a', d).prettyPhoto({theme:'h0mayun'});
}
功能菜单(id){
var d=document.getElementById(id);
d、 innerHTML='';
$('a',d).prettypto({主题:'h0mayun'});
}
ps:我用Prettypto的例子做了一个简单的测试,它正在工作

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();
}
功能菜单(id){
var d=document.getElementById(id);
d、 innerHTML='';
$('a',d);
}

@h0mayun是否有指向该页面的链接以查看其运行情况?@h0mayun将我的部分代码替换为$('a',d)。单击(函数(){alert(“我在这里!”);返回false;});然后试试看(点击链接“不起作用”)。你看到警报消息了吗?我不使用prettypto,这就是为什么我问你这个链接的原因。@h0mayun和我已经用prettypto的一个例子做了一个测试(在答案中引用)——它正在工作,所以肯定有其他东西在你的页面上产生了问题。例如-指向图像的链接不正确或无法被Prettypto脚本识别。它也无法工作:(整个函数类似于:函数菜单(e,id,spanid,dirFile,href,dirName,file){var d=document.getElementById(id);d.innerHTML='/';var el=document.getElementById(id);el.style.display=(el.style.display=='block')?'none':'block';menu.el=el;$('a',d).prettypoto();//如果(e.stopPropagation)e.stopPropagation();e.cancelBubble=true;返回false;}并且我确定链接正常,请在此处停止事件