IE中画布的jQuery选择器
我正在使用jQuery sparklines插件开发一个页面。此插件使用画布标记替换一些CSV文本。我有一系列包含CSV文本的span标记。我正在尝试编写一个jQuery选择器来选择尚未填充画布标记的span标记: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&
<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;
});