0

我有与此类似的 HTML:

<div class="MainForm">
    <form name="FromName">
     <button name="Button1"></button>
     ...
     ...
    </form>
   <Div class="blackBox" style="visibility:hidden;"></div>
   <Div class="SubFotm" style="visibility:hidden;"></div>
</div>

现在我可以在脚本中正确找到按钮单击的触发器,但我无法仅针对壁橱黑盒使其可见。

目前我正在做:

if (PButtonName=="Fermer") {
$(this).closest("div .ProfileForm").remove(); // Closing Profile Form
}  else if (PButtonName=="plusAdresse") {
alert('In');
      $(this).closest("div .BlackBox").css("visibility","visible");  
}

我可以"In"显示警报,但不能显示 BlackBox 如果我更改

$(this).closest("div .BlackBox").css("visibility","visible"); 

为了 :

 $("div .FormBlackBox").css("visibility","visible"); 

它会显示,但也会显示文档中的所有黑框。

4

2 回答 2

0

而不是你所做的只是display:none;向你的 div 添加样式,然后在你想要的时候显示它们。所以你可以这样做如下:

<div class="MainForm">
    <form name="FromName">
     <button name="Button1"></button>
     ...
     ...
    </form>

   <div class="blackBox" style="display:none;"></div>
   <div class="SubFotm" style="display:none;"></div>
</div>

然后在你的脚本中

if (PButtonName=="Fermer") 
{
      $(".MainForm").closest("div .ProfileForm").remove(); // Closing Profile Form
}  
else if (PButtonName=="plusAdresse")
 {
     alert('In');
     $(".MainForm").closest("div .BlackBox").show();  
}

我会推荐你Switch case​​在这个地方使用而不是循环。

于 2013-02-14T19:29:56.953 回答
0

如果您使用的是上面的 HTML 或类似的东西,我会使用对父母的引用来做到这一点。

代替:

$(".MainForm").closest("div .BlackBox").css('visibility','visible');

采用

$(this).parents('.MainForm').children('.BlackBox').css('visibility','visible');

这是假设您有多个 MainForm div,并且它们都有一个带有 BlackBox 类的子级。

这是一个例子。

于 2013-02-14T20:04:03.683 回答