0

我想仅在满足特定条件时才执行 JQuery 切换功能(它切换输入字段以使其可供客户端访问)。(我正在使用 JavaScript 测试条件。)我可以这样做吗?出于某种原因,当我在 JavaScript 函数中设置 JQuery 切换函数时它不起作用,所以我不确定我是否做错了什么,或者这是否根本无法完成。

<script type="text/javascript">
function conditionalToggle()
{
   if (conditionIsMet)
   {
      // JQuery toggle call here
   }
}
</script>
4

3 回答 3

3

你可能没有正确使用 jQuery,或者没有执行函数,或者(新 jQuery 用户最常见的错误)没有等待 DOM 准备好:

function foo(){
    if ("foo" === "foo")
        $('#elementId').toggle();
}

$(function(){ // functions inside $() runs after the DOM is ready.
    foo();
});

elementId您的元素 ID 的占位符在哪里。
简单的演示


请注意,您可以使用此toggle重载:

$('#elementId').toggle(showTheElementOrNot);

toggle( showOrHide )
showOrHide一个布尔值,指示是显示还是隐藏元素。

jQuery 文档

于 2012-05-17T14:50:22.703 回答
1

如果在 ready() 函数中,jQuery 应该可以工作

<script type="text/javascript">
$(function() {
   function conditionalToggle(){
      if (conditionIsMet) {
         $(element).toggle();
      }
   }
});
</script>

或者只是这样做:

<script type="text/javascript">
    function conditionalToggle() {
       if (conditionIsMet) {
          element.style.display = element.style.display=='block' ? 'none' : 'block';
       }
    {
</script>
于 2012-05-17T14:52:46.777 回答
0

你可以在 DOM 准备好时这样做,如果你仍然有问题,你也可以这样做:

<script type="text/javascript">
   $(window).load(function() {
        conditionIsMet && $('#elementId').toggle();
   });
</script>
于 2012-05-17T15:43:51.703 回答