Javascript 使用append()添加锚点的jQuery(1.6.4)在IE中不起作用
我在IE中使用append()函数时确实遇到了问题 我想做的是:Javascript 使用append()添加锚点的jQuery(1.6.4)在IE中不起作用,javascript,jquery,internet-explorer,append,Javascript,Jquery,Internet Explorer,Append,我在IE中使用append()函数时确实遇到了问题 我想做的是: 将锚定标记附加到主体元素 将modalwindow插件绑定到锚标记 在定位标记上触发click事件以打开模式窗口 然后取下锚定标签 if($('a#' + id).length == 0){ $('body').append('<a id=\"' + id + '\" href=\"' + gJsAppBasePath + url + '\" class=\"iframe\" title=\"' + title +
if($('a#' + id).length == 0){
$('body').append('<a id=\"' + id + '\" href=\"' + gJsAppBasePath + url + '\" class=\"iframe\" title=\"' + title + '\"><\a>');
$('a#' + id).fancybox({
'hideOnContentClick': false,
width: width,
height: height
});
}
$('a#' + id).click();
$('a#' + id).remove();
if($('a#'+id).length==0){
$('body')。追加('
BlaBla
Sebastian我希望您的代码看起来更像这样:
var anchor = $('#' + id);
if(anchor.length === 0){
anchor = $('<a id=\"' + id + '\" href=\"' + gJsAppBasePath + url + '\" class=\"iframe\" title=\"' + title + '\"><\a>');
$('body').append( anchor );
anchor.fancybox({
'hideOnContentClick': false,
width: width,
height: height
});
}
anchor.click().remove();
var-anchor=$('#'+id);
如果(anchor.length==0){
锚定=$('');
$('body')。追加(锚定);
anchor.fancybox({
“hideOnContentClick”:false,
宽度:宽度,
高度:高度
});
}
锚定。单击()。删除();
使用诸如element#id
之类的选择器要比只使用#id
慢得多。另外,在某些版本的IE中,它似乎有问题
同时
$('a#'+id)
非常昂贵,而且需要多次执行。无需一次又一次地执行。只需执行一次,然后通过变量或链接重新使用即可。如果在加载DOM后添加链接,则使用“在中单击”将不起作用,因为它无法将单击事件附加到尚不存在的内容。因此,您需要使用LIVEd将单击事件绑定到该事件。您能复制更多脚本/html吗?这样我就可以重新创建问题了。@espascarello:id可以是一个文本字符串。@Marco Johannesen:我将检查live()函数并返回。谢谢!您当然是对的,但我仍处于设计阶段。起初我只是希望它能够工作;)不过还是要谢谢你。你有没有试过上面的代码,把a
从选择器中删除?