javascript - 如何访问通过JavaScript函数传入的变量

标签 javascript jquery

我有以下按钮设置:

<div class="BlogManagementDiv">
     <button type="button" onclick="fnToggleBox(AddcategoryDiv)">Add Category</button>                                                    
        <div id="AddcategoryDiv" class="BlogManagementcontainer">
...
        </div>
</div> 

请注意 onclick 执行此操作:

fnToggleBox(AddcategoryDiv)

它传递对下面 div 的引用:

AddcategoryDiv

然后我像这样访问函数中的元素:

    function fnToggleBox(element) 
    {
        if (!$('#'+element.id).is(":visible")) {
            $('#' + element.id).show();
        }
        else {
            $('#' + element.id).hide();
        }
    }

我认为这是完全荒谬的,因为它已经拥有该元素,并且不需要以这种方式访问​​它。

我的问题是,如何使用 JQuery 正确访问这个变量。

我知道如何使用 JavaScript,但我正在尝试使用 JQuery 来实现。

我已经尝试过:

function fnToggleBox(element) 
    {
        if (!element).is(":visible")) {
            element.show();
        }
        else {
            element.hide();
        }
    }

function fnToggleBox(element) 
    {
        if (!$element).is(":visible")) {
            $element.show();
        }
        else {
            $element.hide();
        }
    }

但它们不起作用。

我用谷歌搜索,但找不到答案。

最佳答案

描述
您只需包装该元素即可访问 DOM。

<button type="button" onclick="fnToggleBox(AddcategoryDiv)">Add Category</button>                                                    

解决方案
我相信您只是想.toggle 可见性。您可以通过 jQuery 中的 .toggle() 函数来完成此操作。

像这样:

function fnToggleBox(element) 
{
  $(element).toggle();
}

这并不值得为其编写函数包装器,但享受吧!

<小时/>

文档

http://api.jquery.com/toggle/

Description: Display or hide the matched elements.
.toggle( [duration ] [, complete ] )

关于javascript - 如何访问通过JavaScript函数传入的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36552618/

相关文章:

JavaScript 子菜单不持久

javascript - 如何用 CoffeeScript 编写 $(this) ?

JQuery 隐藏和显示选项卡内容

javascript - CSS 下拉菜单 onclick

javascript - 添加和删​​除按钮在预制 Slick 轮播中不起作用

c# - 网络浏览器 : simulate mouse click on ul-li item in webpage

javascript - 如何判断页面加载时哪个元素具有焦点?这可能吗?

javascript - iframe 和绝对定位元素

javascript - 如何将多个前置日期存储到 localStorage?

javascript - Bootstrap 3 导航栏下拉菜单不在带有 affix.js 元素的页面上切换