jQuery $(“#field”)为空?

时间:2009-04-22 12:50:15

标签: jquery css-selectors

我有一个带月月的选择框。

这是我的代码:

$(function(){ 
                        $("#ppsub_ppterm_id").change(function(){ 
                                        var term = this.options[this.selectedIndex].text; 
                                        if(term == "Eenmalig"){ 
                                                $(".idealtd").show(); 
                                        }else{ 
                                                $(".idealtd").hide(); 
                                                //$("#ppsub_amount option:selected").val('anders'); 
                                        } 
                        }); 
        }); 
<select name="ppsub_ppterm_id" class="ppsub_ppterm_id" 
id="ppsub_ppterm_id" style="width: 100px; font-size: 11px;"> 
                                                <option value="M">Maand</option> 
                                                <option value="K">Kwartaal</option> 
                                                <option value="H">Halfjaar</option> 
                                                <option value="J">Jaar</option> 
                                                <option selected value="E">Eenmalig</option> 
                                        </select> 

但是,当我加载我的页面时,我就会出错:

$(“#ppsub_ppterm_id”)为空

第17行

有什么想法吗?

5 个答案:

答案 0 :(得分:39)

听起来JQuery没有正确加载。您使用的是哪个来源/版本?

或者,它可能是命名空间冲突,因此请尝试明确使用jQuery而不是$。如果可行,您可以使用noConflict来确保使用$的其他代码不会中断。

答案 1 :(得分:5)

例如,jQuery的chane'$':

$(“#myId”) - &gt; jQuery的( “#MYID”)

它有效

答案 2 :(得分:3)

即使jQuery找不到该元素,它也不会为null - 它将是一个空的jQuery对象。

你确定加载了jQuery吗?您正在使用的另一个JavaScript库是否可能导致冲突?

答案 3 :(得分:2)

你有“ppsub_ppterm_id”作为一个类,名字,id等......

您需要选择一个并选择它。 ID,NAME,CLASS都不需要具有相同的值。

你可能会混淆jQuery的地狱。

<a id="ppsub_ppterm_id"> = $("#ppsub_ppterm_id")

<a class="ppsub_ppterm_id"> = $(".ppsub_ppterm_id")

<a name="ppsub_ppterm_id">  = $("*[name=ppsub_ppterm_id]")

选择一种方式然后继续使用它,但取出所有这些冗余属性。

答案 4 :(得分:0)

确保在加载文档后运行jQuery代码:

$(document).ready(function() { /* put your stuff here */ });

另外,请确保HTML页面上没有其他ID为“ppsub_ppterm_id”的控件。

这是我要检查的第一件事。