我在IE7中遇到一个问题,只是将动态值传递给javascript。如下所示。这项工作适用于IE 7以外的所有浏览器。
$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 :(得分: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
});
答案 1 :(得分:0)
元素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++;
}
?>
和你的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
});