使用jquery数据设置变量
我试图在一个函数中创建一个变量,然后我可以重新定义在另一个函数中使用它,我想使用jquery.data来实现它,但不确定如何实现 我有这个使用jquery数据设置变量,jquery,jquery-data,Jquery,Jquery Data,我试图在一个函数中创建一个变量,然后我可以重新定义在另一个函数中使用它,我想使用jquery.data来实现它,但不确定如何实现 我有这个 $(".photo").click(function() { var id = $(this).attr('id'); }); 在下一个函数中,我想重新定义id变量…使用前面的id变量值,有什么想法吗 $("#next").click(function() { var id = $(id).next().attr('id'); }); 答案是
$(".photo").click(function() {
var id = $(this).attr('id');
});
在下一个函数中,我想重新定义id变量…使用前面的id变量值,有什么想法吗
$("#next").click(function() {
var id = $(id).next().attr('id');
});
答案是全局变量,所以结果是这样的:
$(".photo").click(function() {
id = $(this).attr('id');
});
$("#next").click(function() {
var id_a = $('#' + id).next().attr('id');
id = id_a;
});
$("#prev").click(function() {
var id_b = $('#' + id).prev().attr('id');
id = id_b;
});
您需要为这两个函数定义新的公共变量作为@loriensleafs的答案 此外,我建议使用闭包来防止范围问题
(function() {
var id; // common value but canb be accessed only in this function.
$(".button").click(function() {
id = $(this).attr('id');
});
$("#output").click(function() {
$("p").css( "background", "none" );
$("div").find('#' + id).css( "background", "red" );
});
})();
选中您需要全局定义该变量,以便其他函数可以使用它 样本测试代码
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(function()
{
var GlobalScope;
$('#boxes').click(function()
{
GlobalScope = $.trim($(this).html());
});
$('#boxes_').click(function()
{
console.log(GlobalScope);
});
});
</script>
<div id="boxes">
One
</div>
<div id="boxes_">
Two
</div>
$(函数()
{
var球镜;
$(“#框”)。单击(函数()
{
GlobalScope=$.trim($(this.html());
});
$(“#框”)。单击(函数()
{
控制台日志(GlobalScope);
});
});
一个
两个
当你点击方框时,它将把全局范围变量值设置为一个,现在点击方框后当你点击方框时全局范围值将在控制台中一个。日志