解决方案 »

  1.   

    var radius = fence.attr("radius");   这句是获取属性radius吧, 你还没添加就去获取 肯定undefined添加自定义的应该是  fence.attr("radius","str");
      

  2.   

    参考
    <select id="s"></select>
    <script src="http://www.w3school.com.cn/jquery/jquery-1.11.1.min.js"></script>
    <script>
      var d=$('#s');
      for(var i=0;i<5;i++)d.append('<option radius="'+i+'">'+i+'</option>')
    </script>
    <input type="button" value="get" onclick="alert($('#s option:selected').attr('radius'))"/>
      

  3.   

     var option = new Option(arr[i].o_fencename,arr[i].o_fenceid);
     option.radius = arr[i].o_radius;
     selObj.options.add(option);
     是添加了自定义属性,再去获取的,IE8有效,IE9失效
      

  4.   

    设置的时候这样:option.setAttribute('radius',arr[i].o_radius) ;
      

  5.   

    用jquery添加。  原生JS添加option自定义属性不好用
      

  6.   

    问题解决了,分享给大家吧....
    我之前是用JS为Select动态添加自定义属性的,然后用Jquery获取Select选中项的自定义属性值,在IE8有效,在IE9失效;
    在网上找了很多方法,也没有解决,后来尝试用Jquery为Select动态添加自定义属性,用Jquery获取Select选中项的自定义属性值,
    经测试IE9,新型浏览器,都有效,由此得出,Jquery和JS在某些方面,存在不兼容,如果要为Select动态添加自定义属性,要么都 用JS,要么都用Jquery,可以减少不必要的麻烦!