希望有人能指出我正确的方向。
我知道也有类似的问题,但是我还没有找到一个可以直接解决我要解决的问题的问题。
我正在尝试获取输入字段的ID,以便更改字体颜色。
<div id="red">
<input id="redA" type="text">
<input id="redB" type="text">
<input id="redC" type="text">
</div>
<div id="outerContainer">
<div id="innerContainer">
<div id="blue">
<input id="blueA" type="text" onBlur="check()">
<input id="blueB" type="text" onBlur="check()">
<input id="blueC" type="text" onBlur="check()">
</div>
</div>
</div>
<script>
function check(){
var v=$(this).val();
if ( v=="red" ) { $(this).css({"color":"red"})
if ( v=="green" ) { $(this).css({"color":"green"})
if ( v=="blue" ) { $(this).css({"color":"blue"})
}
</script>
我知道这有点冗长,但是希望可以看到我正在尝试做什么
谢谢
最佳答案
你可以这样
<div id="red">
<input id="redA" type="text">
<input id="redB" type="text">
<input id="redC" type="text">
</div>
<div id="outerContainer">
<div id="innerContainer">
<div id="blue">
<input id="blueA" type="text" onblur="check(this)">
<input id="blueB" type="text" onblur="check(this)">
<input id="blueC" type="text" onblur="check(this)">
</div>
</div>
</div>
jQuery查询
function check(vObj){
console.log($(vObj));
var v=$(vObj).val();
if ( v=="red" ) { $(vObj).css({"color":"red"}); }
if ( v=="green" ) { $(vObj).css({"color":"green"}); }
if ( v=="blue" ) { $(vObj).css({"color":"blue"}); }
}
这是http://jsfiddle.net/afPrc/109/的jsfiddle
提琴无法正常工作的原因是因为您没有将文本框的对象传递给函数。当您在函数内执行
$(this)
时,它将获取window
的对象而不是textbox
。