Vin*_*pin 35 jquery input jquery-selectors
我这里有代码..
<div>
<input type="hidden" value="hello" />
</div>
<div>
<input type="hidden" value="world" />
</div>
Run Code Online (Sandbox Code Playgroud)
是否可以在内部选择值为"hello"的div并将所选div的颜色更改为红色......?
$("div input[value='hello']").css("background","red"); //i have this in mind
//but i think its wrong:D
Run Code Online (Sandbox Code Playgroud)
任何帮助请..
Bol*_*ock 46
您想要选择输入,然后选择其父级div
:
$("input[value='hello']").parent("div").css("background", "red");
Run Code Online (Sandbox Code Playgroud)
Peb*_*bbl 39
正如对于遇到这个问题的人的未来注释一样,这些答案在搜索特定属性时是正确的,即在HTML中硬编码value
的属性 - 根据问题完全正确.但是,如果用户在任何时候更改了字段的值,则不更新value 属性,只有元素的value 属性.这会以选择实际具有不同当前值的元素的形式导致意外行为......相反 - 或者至少在我找到更好的方式之前 - 我一直在使用以下内容:
jQuery.extend(
jQuery.expr[':'],
{
/// check that a field's value property has a particular value
'field-value': function (el, indx, args) {
var a, v = $(el).val();
if ( (a = args[3]) ) {
switch ( a.charAt(0) ) {
/// begins with
case '^':
return v.substring(0,a.length-1) == a.substring(1,a.length);
break;
/// ends with
case '$':
return v.substr(v.length-a.length-1,v.length) ==
a.substring(1,a.length);
break;
/// contains
case '*': return v.indexOf(a.substring(1,a.length)) != -1; break;
/// equals
case '=': return v == a.substring(1,a.length); break;
/// not equals
case '!': return v != a.substring(1,a.length); break;
/// equals
default: return v == a; break;
}
}
else {
return !!v;
}
}
}
);
Run Code Online (Sandbox Code Playgroud)
上面创建了一个新的jQuery伪选择器,可以这样使用:
$('input:field-value(^test)');
Run Code Online (Sandbox Code Playgroud)
这将选择以"test"值开头的所有输入,或者:
$('input:field-value(*test)');
Run Code Online (Sandbox Code Playgroud)
这将选择包含"test"的所有输入值.
也支持!
不是,$
结束或=
等于......
归档时间: |
|
查看次数: |
72716 次 |
最近记录: |