JQuery不支持IE *中的自定义属性?

时间:2011-08-18 15:08:07

标签: jquery internet-explorer custom-attributes

在html中我有这样的表:

<table for="availableTimeRanges"></table>

然后我用户jquery找到表

var table = $("table[for='availableTimeRanges']");

在firefox和chrome中,这个工作,可以返回表,但在IE8中,没有任何回报 然后我在IE8下面运行代码,发现属性值为空:

$.each($("table"), function(i,n){
        alert($(n).attr("for")

});

是什么原因

4 个答案:

答案 0 :(得分:1)

你最好使用他们在任何地方都支持的类名

<table class="for_availableTimeRanges"></table>

$('.for_availableTimeRanges')

答案 1 :(得分:1)

要添加ŠimeVidas所说的内容,请尝试将名称从for更改为forparam,htmlfor等其他内容(您不能将表格用于表格的标签输入)

$(function () {

        $('table[forparam=availableTimeRanges]').each(function () {
            alert($(this).attr('forparam'));
        });

    });

答案 2 :(得分:0)

您认为应该尝试在$(function(){...});

中包装代码
$(function(){
   $.each($("table"), function(i,n){
        alert($(n).attr("for")
   });
});

答案 3 :(得分:0)

<table data-ranges="availableTimeRanges"> </table>

var ranges = {
  set : function (options){
     options = options || [];
     //loop and set ranges
  },
  get : function(){
     $("table [data-ranges='availableTimeRanges']").each(function(){
         alert($(this).data("ranges"));
     }); 
  }
};
ranges.get // calls get method