删除jQuery函数不适用于ie7(删除td标记)

时间:2015-03-24 03:36:36

标签: jquery

我有这段代码(jsfiddle link here),除了我删除td标签的部分外,所有删除功能都有效。

我的代码:

<table border="1">
    <tr>
        <td class="class" rowspan="3">(1)</td>
        <td class="class">02&nbsp;mar&nbsp;-&nbsp;02&nbsp;mar</td>
        <td class="class">tuesday
            <br>(once-only)</td>
        <td class="class">800&nbsp;-&nbsp;900</td>
        <td class="class">biological&nbsp;sciences, lecture&nbsp;theatre</td>
        <td class="class">&nbsp;</td>
    </tr>
    <tr>
        <td class="class" rowspan="999">(1)</td>
        <td class="class">27&nbsp;apr&nbsp;-&nbsp;27&nbsp;apr</td>
        <td class="class">tuesday
            <br>(once-only)</td>
        <td class="class">800&nbsp;-&nbsp;900</td>
        <td class="class">biological&nbsp;sciences, lecture&nbsp;theatre</td>
        <td class="class">&nbsp;</td>
    </tr>
    <tr>
        <td class="class" rowspan="999">(1)</td>
        <td class="class">18&nbsp;may&nbsp;-&nbsp;18&nbsp;may</td>
        <td class="class">tuesday
            <br>(once-only)</td>
        <td class="class">800&nbsp;-&nbsp;900</td>
        <td class="class">biological&nbsp;sciences, lecture&nbsp;theatre</td>
        <td class="class">&nbsp;</td>
    </tr>
</table>
<a href="http://google.com">link1</a><br>
<a href="http://google.com">link2</a><br>
<a href="http://google.com" target="_blank">link3</a><br>
<a href="http://google.com">link4</a><br>
<a href="http://google.com" target="_blank">link5</a><br>
<br>
<button>remove</button>

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $( "button" ).click(function() {
        $("td[rowspan='999']").remove();
        $("a[target='_blank']").remove();
    });
});
</script>

有关如何修复/解决此问题的任何建议?我在网上搜索但在那里找不到任何东西。

非常感谢

PS。这个相同的代码在最近的浏览器和IE8 +中工作正常。 我正在使用原生IE7浏览器进行测试。

edit1:编辑的代码包含$(document).ready。仍然没有工作。

edit2:包含在原始jquery行下面,但仍无效。

edit3:尝试在脚本src中使用http://而不做任何更改。

edit4:尝试使用jquery 1.8.3,1.9.0和1.9.1,它不起作用。

edit5:用双引号括起来的参数值

3 个答案:

答案 0 :(得分:0)

未从提供的链接

下载Jquery
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>

使用http

作为链接的前缀
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>

当我尝试上述操作时,remove为我工作..

答案 1 :(得分:0)

没有正确声明您的属性。你需要在值周围加上引号。例如,您的前几行应如下所示:

<table border="1">
<tr>
    <td class="class" rowspan="3">(1)</td>
    <td class="class">02&nbsp;mar&nbsp;-&nbsp;02&nbsp;mar</td>
    <td class="class">tuesday
        <br>(once-only)</td>
    <td class="class">800&nbsp;-&nbsp;900</td>
    <td class="class">biological&nbsp;sciences, lecture&nbsp;theatre</td>
    <td class="class text-left stream">
        <div class="left"></div>
    </td>
</tr>

在你的jQuery代码中也是如此,我不确定为什么你会以正确的方式声明它,并且不正确的方式在彼此之后,删除这条没有内部的行 - 单引号:< / p>

    $("td[rowspan=999]").remove();

此外,您使用的是哪种doctype?我知道jQuery有一些具有不同doctypes的特定错误,特别是如果你没有声明一个并且你默认为夸克模式。

答案 2 :(得分:0)

根据jquery支持,1.11.0和2.0版本不支持ie8以后。所以请使用1.9.0。

> https://jquery.com/browser-support/
> 
> http://blog.jquery.com/2014/01/24/jquery-1-11-and-2-1-released/

否我将在1.9.0中通过给定引用进行检查,在兼容性视图中仍然存在加载问题。 Jquery在jsfiddle中加载,但没有加载其他js。有两种可能性。 Eigher其他js不支持ie7或某些我们缺少引用的东西,如ie7标准的jquery。

所以我的建议是,使用简单的html并运行相同的代码。可能是jsfiddle在ie7中不起作用。

我更新了1.9.0的js ref。     http://jsfiddle.net/y08qr7en/7/