[英]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.