需要将变量设置为特定范围的数字
Posted
技术标签:
【中文标题】需要将变量设置为特定范围的数字【英文标题】:Need to set a variable to a specific range of numbers 【发布时间】:2012-08-04 06:34:56 【问题描述】:我有一个页面,我必须在其中检测一个 div,单击该 div 后,我需要更改页面的 url。 div id 取自 XML 文件中名为 . ids是1到999之间的数字,被点击的div结构如下:
<div id="1">
我还有网址更改功能:
$('yyy').live('click',function()window.location = 'list.html?' + xxx + '';);
其中var yyy = "#" + xxx;
以便将哈希添加到 id 变量中,从而可以在 jquery 函数中使用。
我的问题是我需要将xxx
定义为 1 到 999 之间的数字范围,我还尝试通过执行将 xxx 设置为我的 XML 文件中的任何 id 标记
var xxx = xmlDoc.getElementsByTagName("ID");
但到目前为止还没有运气。
谢谢大家!
【问题讨论】:
给所有的 div 同一个类不是更容易吗? 【参考方案1】:我不知道我是否理解,但是xxx变量应该等于被点击元素的id?如果是这样,您可以访问 click 事件,从而访问 even.target
$('yyy').live('click',function(event)window.location = 'list.html?' + $(event.target).attr('id') + '';);
【讨论】:
我想我提供了很多信息......我的主要目的是将 xxx 设置为 1 到 999 之间的任何数字。然后是从 XMl 文件中获取的页面上的任何 id (即 div id="1") 将被视为 div id="xxx" 因为不知何故 xxx 被设置为 1 到 999 之间的某个数字,对吗?然后我可以使用 yyy 将 # 添加到 xxx 并在 jquery 代码中使用它。 var randomnumber=Math.floor(Math.random()*11) 这会生成 0-10 范围内的随机数。如果你想要一个 1-999 的随机数,它看起来像这样 var randomnumber=Math.floor(Math.random()*1000)+1 感谢 pkurek,但不知何故,数学随机并没有达到我想要的效果。让我们坚持您发布的第一个代码。我解释了我的确切情况,让我们看看我们是否能到达任何地方! :) 我有一个页面加载 4 个 div,其中包括从 XML 文件中提取的数据。这些 div 的 id 来自 XML 文件。现在我需要每次点击这些 div 时,1. 检测到 div id 和 2. 一个函数更改 url 并将 div id 添加到 url 的末尾。我怎样才能做到这一点? 所以@DaveHomer 每次单击这四个 div 之一时,您需要启动一个函数来检测单击的 div ID,然后附加它(或者如果单击 div,则更改 url 中的当前 ID before ) 到当前 url 对吗? 如果是这样$("FOUR DIV SELECTOR").live('click', function(event) window.location = window.location.origin + window.location.pathname + '#' + $(event.target).attr('id'))
【参考方案2】:
最后在 pkurek 的帮助和一些阅读的帮助下,我设法通过以下代码做到了:
$('.all the divs on the page class').live('click', function() window.location = 'list.html?' + $(this).attr('id') + '';);
这将自动检测点击的 div! :)
【讨论】:
以上是关于需要将变量设置为特定范围的数字的主要内容,如果未能解决你的问题,请参考以下文章