仅在IE 7中类问题中传递动态值的JavaScript

仅在IE 7中类问题中传递动态值的JavaScript,javascript,jquery,javascript-framework,unobtrusive-javascript,Javascript,Jquery,Javascript Framework,Unobtrusive Javascript,只有在向javascript传递动态值时,我才会在IE7中遇到问题。如下图所示。这在除IE7之外的所有浏览器中都适用 $val =$id.$i; echo "<a href='javascript:void(0);' id='network' class=$val value='$octet'>+".$octet.".0.0.0</a> <br />"; 完成下面的php代码 <?php $octets = $thi

只有在向javascript传递动态值时,我才会在IE7中遇到问题。如下图所示。这在除IE7之外的所有浏览器中都适用

$val =$id.$i;
echo "<a href='javascript:void(0);' id='network' class=$val value='$octet'>+".$octet.".0.0.0</a> <br />"; 
完成下面的php代码

<?php 
                $octets = $this->Ip;
                $octetets = $this->octent1;
                $i= 1;
                $id='network';
                foreach($octetets as $octet){
                    $val =$id.$i;

                    echo "<a href='javascript:void(0);' id='network' class=$val value='$octet'>+".$octet.".0.0.0</a> <br />";
                    value='$octet'>+".$octet.".0.0.0</span> <br />";
                    $i++;

                }

            ?>
试试这个:

$(".msg_body").on('click', '#network', function(e){
    e.preventDefault();
    var network = $(this).attr('value');
    alert(network); // alert fails in IE 7

    var clsName = $(this).attr("class");
    alert(clsName); // a
});

元素Id必须是唯一的,因此不要使用该属性,而是使用另一个类似的名称:

更改您的php:

<?php 
            $octets = $this->Ip;
            $octetets = $this->octent1;
            $i= 1;
            $id='network';
            foreach($octetets as $octet){
                $val =$id.$i;

                echo "<a href='javascript:void(0);' name='network' class=$val value='$octet'>+".$octet.".0.0.0</a> <br />";
                value='$octet'>+".$octet.".0.0.0</span> <br />";
                $i++;

            }
        ?>

在链接上使用保留字
容易混淆
<?php 
            $octets = $this->Ip;
            $octetets = $this->octent1;
            $i= 1;
            $id='network';
            foreach($octetets as $octet){
                $val =$id.$i;

                echo "<a href='javascript:void(0);' name='network' class=$val value='$octet'>+".$octet.".0.0.0</a> <br />";
                value='$octet'>+".$octet.".0.0.0</span> <br />";
                $i++;

            }
        ?>
$(".msg_body").on('click', '@network', function(e){
    e.preventDefault();
    var network = $(this).attr('value');
    alert(network); // alert fails in IE 7

    var clsName = $(this).attr("class");
    alert(clsName); // a
});