2013-04-11 62 views
4

我想为所有输入设置为X值和small类的红色。为什么我们无法通过jquery获取对象值

但这段代码不起作用。

$('.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 /> 

有什么提示?

+0

你有类'smalltx'但'.small'改变。试试'$('。smalltx [value =“X”]')' – Narek 2013-04-11 07:41:10

回答

5

使用属性选择,[...],你检查属性value,这是当创建的,而不是它的实际价值,这是输入字段的财产被赋予了输入的值。

你不得不回落到一个过滤器:

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

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

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

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