如何将jQuery
选择器从一个函数传递到另一个函数?
它是否像将函数从一个函数传递到另一个函数一样?
即:
function hasSelector(){
var items = $('#item1, #item2, #item3');
return items;
}
function useSelector(){
//var items = $('#item1, #item2, #item3');
//items.on('click'...);
hasSelector().on('click', function(){
alert(items);
)};
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
修改:由于评论中的一些说明,我决定将hasSelector()
更改为object
(我必须传递参数以及我在这里忘记提及的内容。尽管如此我还在用一个函数。)
var hasSelector = {
items : function(){
return $('#item1, #item2, #item3');
}
}
function useSelector(){
hasSelector.items().on('click', function(){
alert(hasSelector.items(this));
});
}
useSelector();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="item1">Item 1</div>
<div id="item2">Item 2</div>
<div id="item3">Item 3</div>
//returning [obj Obj] since I'm calling on all 3 items at once.
答案 0 :(得分:0)
你已经通过错误的符号)};
关闭了函数,正确的是});
function hasSelector(){
var items = $('#item1, #item2, #item3');
return items;
}
function useSelector(){
//var items = $('#item1, #item2, #item3');
//items.on('click'...);
hasSelector().on('click', function(){
alert($(this).html());
});
}
useSelector();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<div id="item1">item1</div>
<div id="item2">item2</div>
<div id="item3">item3</div>
答案 1 :(得分:0)
由于你的hasSelector函数返回一个jQuery对象,你可以使用它。
function hasSelector() {
var items = $('#item1, #item2, #item3');
return items;
}
function useSelector(items) {
items.on('click', function() {
alert($(this).html());
});
}
useSelector(hasSelector());