0

我只在將動態值傳遞給javascript時才面臨IE7中的問題。如下所示。這項工作在所有瀏覽器,除了IE 7僅在IE 7中通過類問題的動態值的JavaScript

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

我在javasript作爲表演捕捉下面

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

    var clsName = $(this).attr("class"); 
    alert(clsName); // alert fails in IE 7 

完整的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++; 

       } 

      ?> 
+0

混淆使用保留字'value'在鏈接 – mplungjan

+0

ID必須是唯一的 – Andreas

回答

1

試試這個:

$(".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 
}); 
0

element Id's必須是唯一的,所以不是使用該屬性,使用其他類似的名字:

改變你的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++; 

      } 
     ?> 

和你的jQuery:

$(".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 
});