IE中画布的jQuery选择器

IE中画布的jQuery选择器,jquery,internet-explorer,jquery-selectors,Jquery,Internet Explorer,Jquery Selectors,我正在使用jQuery sparklines插件开发一个页面。此插件使用画布标记替换一些CSV文本。我有一系列包含CSV文本的span标记。我正在尝试编写一个jQuery选择器来选择尚未填充画布标记的span标记: <td> <span class="inlinesparkline"> <canvas style=" ... " width="200" height="18"></canvas> </span&

我正在使用jQuery sparklines插件开发一个页面。此插件使用画布标记替换一些CSV文本。我有一系列包含CSV文本的span标记。我正在尝试编写一个jQuery选择器来选择尚未填充画布标记的span标记:

<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>
但是,这在IE中不起作用。因为画布标记是由插件生成的,所以我不能(轻松地)向它们添加类以在选择器中使用。有没有其他方法来选择这些“无画布的跨度”标签,这些标签将在IE中工作

谢谢

使用,这应该可以:

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

当元素中没有
元素时,它将过滤掉每个
.inliensparkline
。请注意,这只是一种不同的方式:不(:has()),但这一种应该在IE中工作。

IE8,但现在我认为我的问题比IE问题更深层次。我使用的是jQuery1.5.1(感谢VS2010!),当我将其提升到1.7时,它做得更好。尝试更改此fiddle上的jQuery版本:IE8不支持canvas标记。直到IE9。这也有效,但我的问题似乎超出了jQuery/IE版本。
var elements = $('.inlinesparkline').filter(function(index) {
    return !$(this).find('canvas').length;
});