繁体   English   中英

将变量传递给Jquery函数

[英]Passing a Variable To A Jquery Function

我有一个项目列表,我想对其执行相同的操作。 它们都有单独的ID,因此我希望能够将每个ID的名称传递给Jquery,以便仅对该ID执行操作。 例如:

<a href="#" id="1">one</a>
<a href="#" id="2">two</a>
<div id="#test1"></div>
<div id="#test2"></div>

我希望能够做到这样的事情:

function doSomething(x) {
     var div=x+'div';
     $(x).click(function() { $.(div).slideDown(); });
}

有什么想法吗?

谢谢。

这是如何在jquery fn中传递变量

    <title>Test</title>
    <script type="text/javascript">
        $(document).ready(function() {
            $("#but").click(function() {
                var n = $(this).attr("n");
                alert(n);
            });
        });
    </script>
</head>
<body>
    <a id="but" href="#" n="I Love You">Click Here</a>
</body>

使用onclick属性,简化了代码:

<a href="#" id="1" onclick="handleClick(this)">one</a>
<a href="#" id="2" onclick="handleClick(this)">two</a>
<div id="#test1"></div>
<div id="#test2"></div>

function handleClick(x) {
     $('#test'+ x.id).slideDown();
}
 <a href="#" class="x" d="test1">one</a> <a href="#" class="x" d="test2">two</a> <div id="test1" class="x"></div> <div id="test2" class="x"></div> 
function doSomething(x) 
{
   $("a.x").click(function()
   { $( "div#" + $(this).attr("d") ).slideDown(); }
   );
}

您可以将jQuery元素直接传递给函数,如下所示:

var doSomething = function(el){
    el.click(function(){ });
};

// Single element
var $el = $('a.class');
doSomething($el);

// Multiple elements
var $elms = $('a.class, a#id');
doSomething($elms);

您可以使用这样的data属性来存储数据和html元素,并使用jQuery data()方法检索它们。 尝试这个。

Html改变

<a href="#" data-id="1">one</a>
<a href="#" data-id="2">two</a>
<div id="test1"></div>
<div id="test2"></div>

使用这个js

$('a').click(function(){
   $('#test' + $(this).data('id')).slideDown();
});

要使用jQuery data方法检索数据属性值,只需传递属性的后半部分。 因此,在这种情况下,将id传递给data将为我们提供id值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM