4

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 />

有什么小费吗?

4

2 回答 2

5

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

您必须退回到过滤器:

$('.small')
    .filter(function() { return this.value == 'X'; })
    .css('border', '1px solid #F00');
于 2013-04-11T07:38:47.067 回答
4

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

还没有属性选择器这样的东西,所以你需要一个手册filter

$('.small').filter(function() {
    return this.value === "X";
}).css('border','1px solid #F00');
于 2013-04-11T07:38:19.907 回答