2012-02-23 34 views
1

我想选择一个DIV其中 = pick1-box只给出使用CoffeeScript的父母的ID选择的元素。的CoffeeScript:我似乎无法通过ID +子类

jQuery(document).ready -> 

    pick1value = $('#vote_pick1_id').val 
    $("#" + pick1value + " .pick1-box").css('background-color', 'green') 

我可以验证pick1value已经收到了价值从$('#vote_pick1_id').val

... 
<li class='nominee clearfix' id='146'> 
    <div class='candidate'> 
    <img alt="Enders" height="80" src="/assets/25803sm.jpg" /> 
    Dick Waddington 
    </div> 
    <div class='pick-boxes'> 
    <div class='pick1-box'> 
     1 
    </div> 
    <div class='pick2-box'> 
     2 
    </div> 
    </div> 
</li> 
... 

FWIW:$("#" + pick1value)似乎没有任何工作。

+1

仅供参考'jQuery的(文件)。就绪 - >'可以写成'$ - >' – asawyer 2012-02-23 16:58:14

+0

的ID不能启动数字,我会开始解决这个问题。 – 2012-02-23 17:01:27

+0

'pick1value'包含什么值?我没有看到任何具有'pick1-box'类的'id'属性。 – SenorAmor 2012-02-23 17:02:56

回答

3

这...

pick1value = $('#vote_pick1_id').val 

应该是这样的......

pick1value = $('#vote_pick1_id').val() 

,因为你没有传递参数。

现在,您正在将函数本身分配给变量,而不是调用它。


很肯定你.css()呼叫可以消除()虽然...

$("#" + pick1value + " .pick1-box").css 'background-color', 'green' 
+0

你达老大!谢谢! – Meltemi 2012-02-23 18:03:50

+0

不客气@Meltemi。 – 2012-02-23 18:04:17

+0

btw-这个失败相当隐秘('jquery.min.js:3error:语法错误:无法识别的表达式#'和'message:“无法找到变量:thisMonth”'我没有在此应用程序中引用thisMonth' ?!?)当'val()'为空时。我在作业前面放了一个快速的'如果pick1value.length> 0',它似乎很高兴。 **让我知道如果你知道一个更好的NULL检查或可以想办法建立一个选择器,当pick1value == null时不会出错。** – Meltemi 2012-02-24 01:45:56