JQuery - fadeIn使用变量而不是id?

时间:2012-01-18 09:01:41

标签: jquery fadein

此代码有效:

$(contentDiv).fadeIn("slow");

这不是:

var elementName = 'contentDiv';
$(elementName).fadeIn("slow");

不会出现淡入淡出效果。

我想知道这个解决方案我是个白痴,但是我无法解决这个问题。

6 个答案:

答案 0 :(得分:2)

您需要指定'contentDiv'是还是 id

var elementName = '.contentDiv';
$(elementName).fadeIn("slow");

OR

var elementName = '#contentDiv';
$(elementName).fadeIn("slow");

答案 1 :(得分:1)

如果"contentDiv"是您元素的name,那么您需要使用:

$("[name=" + elementName + "]").fadeIn("slow");

如果是id,则需要使用:

$("#" + elementName).fadeIn("slow");

答案 2 :(得分:1)

您需要在字符串前面加上选择器的其余部分。如果contentDivid,则为#

$("#" + elementName").fadeIn("slow");

如果它实际上是name属性的值,则需要将其插入attribute selector

$("[name='" + elementName + "']").fadeIn("slow");

如果contentDiv是其他东西(也许是一个类),则需要适当地更改选择器。关于selectors in the jQuery docs的部分将是一个很好的起点。

您目前拥有的内容将寻找“contentDiv”类型的元素,这不是您想要的:

<contentDiv>This is an invalid element...</contentDiv>

答案 3 :(得分:1)

contentDiv不是标记/元素。您忘记为选择器指定idclass

var elementName = '#contentDiv';

或者

var elementName = '.contentDiv';

取决于您是否为您的div使用classid

答案 4 :(得分:1)

var elementName = '#contentDiv';
$(elementName).fadeIn("slow");

#是原因。

答案 5 :(得分:1)

  

此代码有效:

     

$(contentDiv).fadeIn( “慢”);

除非您使用的是Internet Explorer ,否则它不应该有效。 IE有一个讨厌的习惯,即为具有ID的HTML元素创建变量。 (编辑:chrome似乎也这样做。)

连接方式是:

var elementName = "contentDiv";
$("#" + elementName).fadeIn("slow");