希望有人能指出我正确的方向。
我知道也有类似的问题,但是我还没有找到一个可以直接解决我要解决的问题的问题。
我正在尝试获取输入字段的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

09-30 19:20
查看更多