j查询复选框切换功能不起作用



我正在尝试创建一个函数,在选中复选框时更改文本的颜色。它工作正常,但现在突然间它不起作用它说 toggle 变量是一个未定义的表达式,但它只是一个存储在其中的 id 标签。此外,即使弹出警报,CSS 更改也不起作用。我将非常感谢有关此功能突然中断的任何信息。

JavaScript, jQuery code:

function estimateToggle(toggle)
{ 
    var toggle = "#" + toggle;
    alert(toggle);
    if  ($(toggle).is(":checked"))
    {
        alert(toggle + " is checked");
        $("'" + toggle + "'").css({'color':'black'});
    }else{
        alert(toggle + " is unchecked");
        $("'" + toggle + "'").css({'color':'#CCCCCC'});
    }
}

网页代码:

<input type="checkbox" class="socialMedia" name="socMedFacebook" id="socMedFacebook" onChange="estimateToggle('socMedFacebook')" value="100">
<label for="socMedFacebook">Facebook</label>
<div align="right" class="socMedFacebook" id="socMedFacebook" name="socMedFacebook">$100</div>

以下是Chrome控制台吐出的错误:

未捕获的错误:语法错误,无法识别的表达式:"#socMedFacebook"

ID 选择器必须是唯一的。

阅读两个具有相同 id 属性的 HTML 元素:它到底有多糟糕?

更改为

$(toggle).css({

形式

 $("'" + toggle + "'") // as your variable toggle  is already string don't wrap quotes around it.

最新更新