Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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 使用append()添加锚点的jQuery(1.6.4)在IE中不起作用_Javascript_Jquery_Internet Explorer_Append - Fatal编程技术网

Javascript 使用append()添加锚点的jQuery(1.6.4)在IE中不起作用

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 +

我在IE中使用append()函数时确实遇到了问题

我想做的是:

  • 将锚定标记附加到主体元素
  • 将modalwindow插件绑定到锚标记
  • 在定位标记上触发click事件以打开模式窗口
  • 然后取下锚定标签

    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
  • 锚标记从未初始化为正确的jQuery对象。 h2标记为,但不会显示在页面上

    我已经找到了一种解决方法来硬编码锚定标记和修改属性,但这并不是我真正想要的。 任何想法都非常感谢

    提前谢谢大家,,
    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
    从选择器中删除?