Javascript div id包含的长度为零

Javascript div id包含的长度为零,javascript,jquery,html,Javascript,Jquery,Html,我正在检查Divid包含的内容。如果该Div存在,则显示另一个要显示或隐藏的Div 如果使用完整的div id长度,则显示为1,否则始终为零 $(function () { alert($('div[id="dnn_ctr2555_DNNWebControlContainer_ctl01_SPE_MBRDemographicsControl_pnlDemographics"]').length); if ($('div[id^="_SPE_MBRDemographicsControl_p

我正在检查
Div
id包含的内容。如果该Div存在,则显示另一个要显示或隐藏的Div

如果使用完整的div id长度,则显示为1,否则始终为零

$(function () {
  alert($('div[id="dnn_ctr2555_DNNWebControlContainer_ctl01_SPE_MBRDemographicsControl_pnlDemographics"]').length);
  if ($('div[id^="_SPE_MBRDemographicsControl_pnlDemographics"]').length) {
    /* it exists */
    $('#DemographicCntrlContent').show();
  }
  else {
    /* it doesn't exist */
    $('#DemographicCntrlContent').hide();
  }
})

在我的if条件下有什么问题。

您使用的是
克拉(^)
符号,基本上表示“从开始”。如果要查找包含,可以使用
div[id*=

if ($('div[id*=""]').length)
另一种检查方法是通过
.contains()
选择器:

if($("div").attr("id").contains('_SPE_MBRDemographicsControl_pnlDemographics')) // return true - false

您使用的是一个
carat(^)
符号,它的基本意思是“以开始”。如果您希望查找包含的内容,可以使用
div[id*=

if ($('div[id*=""]').length)
另一种检查方法是通过
.contains()
选择器:

if($("div").attr("id").contains('_SPE_MBRDemographicsControl_pnlDemographics')) // return true - false

[attr^=abc]
检查以
abc

[attr$=abc]
检查以
abc

[attr*=abc]
检查包含字符串的属性

[attr~=abc]
检查是否等于
abc
-因此
你好abc
不匹配,但
你好abc
将匹配


[attr|=abc]
检查
abc
abc-…
的属性,即确切的单词
abc
abc
后接
-
(然后接任何东西)

[attr^=abc]
检查
abc
开头的属性

[attr$=abc]
检查以
abc

[attr*=abc]
检查包含字符串的属性

[attr~=abc]
检查是否等于
abc
-因此
你好abc
不匹配,但
你好abc
将匹配


[attr |=abc]
检查
abc
abc-…
的属性,即确切的单词
abc
abc
后接
-
(然后接任何东西)

^=/code>是“以开头”-你的意思可能是
$=
,以结尾,请发布一个完整的代码示例。@j08691-为什么?问题很清楚,我会尝试
*=
~=
而不是
^=
在这种情况下
~=
不起作用
^=
是“开始于”-你的意思可能是
$=
,结尾是请发布一个完整的代码示例。@j08691-为什么?问题很清楚,我会尝试
*=
~=
而不是
^=
~=
在这种情况下不起作用。你的上一个定义不完全准确。是的,我一直在考虑删除它,直到我离开确定wording@A.Wolff-我觉得现在更好了我几乎羞于说出错误的定义从何而来…从w3开始,以学校结束-我知道我应该去别处看看:P你上一个定义并不完全准确是的,我想在找到最终定义之前删除它wording@A.Wolff-我想那是现在更好了,我几乎羞于说出错误的定义从何而来……从w3开始,到学校结束——我知道我应该去别处看看:p