JQuery не поддерживает пользовательский атрибут в IE *? - PullRequest
1 голос
/ 18 августа 2011

В 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 ]

1 голос
/ 18 августа 2011

Чтобы добавить к тому, что сказал Шиме Видас, попробуйте изменить имя с for на другое, например forparam, htmlfor и т. Д. ( Нельзя использовать для таблицы для меток, предназначенных для ввода.)

$(function () {

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

    });
1 голос
/ 18 августа 2011

Вам лучше использовать имена классов, они поддерживаются везде

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

и

$('.for_availableTimeRanges')
0 голосов
/ 24 октября 2012
<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
0 голосов
/ 18 августа 2011

Думаю, вы должны попробовать обернуть ваш код в $(function(){...});

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