JQuery селектор для холста в IE - PullRequest
0 голосов
/ 05 января 2012

Я разрабатываю страницу с помощью плагина jQuery sparklines.Этот плагин заменяет некоторый текст CSV тегом canvas.У меня есть серия тегов span, которые содержат текст CSV.Я пытаюсь написать селектор jQuery для выбора тегов span, которые еще не заполнены тегом canvas:

<td>
    <span class="inlinesparkline">
        <canvas style=" ... " width="200" height="18"></canvas>
    </span>
<td>
<td>
    <span class="inlinesparkline">0,2,0,0,0,0,0,0,0,0,0,0,0</span>
<td>

Я написал:

$('.inlinesparkline:not(:has(canvas))')

Однакоэто не работает в IE.Поскольку теги canvas генерируются плагином, я не могу (легко) добавить к ним класс для использования в селекторе.Есть ли другой способ выбрать эти теги "spans on canvas", которые будут работать в IE?

Спасибо!

1 Ответ

2 голосов
/ 05 января 2012

Используя $.filter, это должно работать:

var elements = $('.inlinesparkline').filter(function(index) {
    return !$(this).find('canvas').length;
});

Он будет фильтровать каждый .inliensparkline, где есть нет <canvas> элементов внутри элемента. Обратите внимание, что это просто другой способ сделать :not(:has()), но этот должен работать в IE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...