为什么我们不能在jquery中按值获取对象

时间:2013-04-11 07:35:23

标签: javascript jquery

我正在尝试为X值和small类的所有输入设置红色。

但此代码不起作用。

$('.small[value="X"]').css('border','1px solid #F00');

HTML

    <input type="text" value="<?php echo trim($order['dns1']); ?>" class="wd-150 en small"  /><br />
    <input type="text" value="<?php echo trim($order['dns1']); ?>" class="wd-150 en small"  /><br />
    <input type="text" value="<?php echo trim($order['dns1']); ?>" class="wd-150 en small"  /><br />

有没有提示?

2 个答案:

答案 0 :(得分:5)

使用属性选择器[...],您正在检查属性 value,这是创建时输入的值,而不是其实际值,是输入字段的属性

你必须回到过滤器:

$('.small')
    .filter(function() { return this.value == 'X'; })
    .css('border', '1px solid #F00');

答案 1 :(得分:4)

属性选择器([])将仅在页面加载或通过.attr()设置时选择标记中具有给定属性值的元素,这在大多数情况下不起作用(用户输入)值)。

还没有属性选择器,所以你需要一本手册filter

$('.small').filter(function() {
    return this.value === "X";
}).css('border','1px solid #F00');