无法根据属性选择器中的条件进行选择

时间:2012-06-07 10:47:15

标签: jquery

如果我$var = $('[height > 100]');

抛出错误运行时错误

Microsoft JScript运行时错误:语法错误,无法识别的表达式:[height> 100]

但是等于(=)有效

$var = $('[height = 100]');

那么如何过滤第一种情况呢? (仅使用属性选择器,因为我正在学习它)

我有<table height="200">

由于

2 个答案:

答案 0 :(得分:3)

$var = $(target).filter(function() {
  return $(this).height() >= 100;
});

此处target将替换为任何有效的jQuery selectore

注意

如果您将heightstyle css一起使用,那么就无法实现。

根据编辑

<table height="200">

然后尝试

$('table[height=200]');

<强> DEMO

$var = $('table').filter(function() {
  return $(this).attr('height') == 100;
});

<强> DEMO

根据纪念

  

Q值。它适用于!=吗?

     

一个。是

$var = $('table').filter(function() {
  return $(this).attr('height') != 100;
});

<强> DEMO

答案 1 :(得分:0)

如果您想使用属性选择器,只需使用codeparadoxes方法,如下所示:

http://jsfiddle.net/uVdcw/

$var = $("div").filter(function() {
  return parseInt($(this).attr("height")) >= 300;
}).text("height is 300 or more");​

HTML:

<div height="200" width="100">Div 1</div>
<div height="300" width="140">Div 2</div>
<div height="200" width="130">Div 3</div>
<div height="500" width="120">Div 4</div>
<div height="200" width="120">Div 5</div>​