jQuery:使用变量代替div?

时间:2011-07-20 01:43:19

标签: jquery

哎呀,小提琴现在更新正确 在这个小提琴中,http://jsfiddle.net/SySRb/118/一旦你点击.start一个数组中的元素被随机选择并分配给变量ran这个随机选择jquery已被检查http://jsfiddle.net/urfXq/96/并正在工作我不认为这是问题所在,尽管人们已经提出了使其更优雅的方法。

继续......

将数组中的元素分配给ran后,将开始if- then结构。 if在这个小提琴中肯定是假的,所以else代码应该运行。我对else代码的意图是添加div哈希标记,然后执行ran.show,以便页面上的两个div(用css隐藏)中的一个变得可见。

其他人没有用。如果if语句为真,我认为它也不起作用......

else { 
                  ran = ('# + ran');
                  $('ran').show(); //one of the two divs should show but they don't
                  }

          });

注意,因为这只是一段较大的代码,如果你完全重构一切,我可能无法使用它......

2 个答案:

答案 0 :(得分:1)

你正在进行字符串连接错误..

使用

ran = '#' + ran;
$(ran).show();

您需要在test上调用document.ready方法,因此请使用

$(test);

http://jsfiddle.net/gaby/SySRb/129/

演示

答案 1 :(得分:0)

一些事情:

  1. 您忘记使用$使用jQuery查询DOM。你应该替换:

    ran = ('# + ran');
    

    ran = $("#" + ran");
    

    即,通过将#附加到ran来构建jQuery选择器,然后使用该选择器调用jQuery。

  2. 由于您保存jQuery调用结果的变量名为ran,因此您应该替换

    $('ran').show();
    

    ran.show();
    
  3. 是否会调用函数test()?您的代码无法正常工作的部分原因是因为该函数未被调用,因此click事件永远不会被绑定。将所有内容包裹在$(document).ready(function () { ... })中并致电test()

  4. 请务必将var与变量声明一起使用。否则,您正在创建一个全局变量。

  5. 以下是您修复的示例:http://jsfiddle.net/andrewwhitaker/9BcUP/