2012-09-21 59 views
0

我有点卡住,为什么这不起作用。无法获取阵列

追加正在工作。我已经获得了html中的所有锚点,但出于某种原因,我可以使用jquery抓取该数组。我开始怀疑是否因为我用jquery添加了它们。

这样下去报警一些,但真的不应该警惕什么

   //$('#swiffy-braces-diagram').html("<img src='/assets/uploads/images/brace-painter.png'/>"); 
      $('#swiffy-braces-diagram').css('background-image', "url('/assets/uploads/images/brace-painter.png')") 
       .append("<a href='' id='elastic-tie'>") 
       .append("<a href='' id='loop-in-archwire'>") 
       .append("<a href='' id='archwire'>") 
       .append("<a href='' id='bracket'>") 
       .append("<a href='' id='headgear-tube'>") 
       .append("<a href='' id='coil-spring'>") 
       .append("<a href='' id='tie-wire'>") 
       .append("<a href='' id='band'>") 
       .append("<a href='' id='hook'>") 
       .append("<a href='' id='elastic'>") 
       .append("<div id='description'>"); 
      }); 

      if($('#swiffy-braces-diagram a').length == 0){alert('some');} 

      $('#swiffy-braces-diagram a').each(function(i){ 
       $(this).mouseover(function(){ 
        $('#swiffy-braces-diagram #description').html(description[i]); 
       }); 
      }); 
+0

你确定'#swiffy-braces-diagram'存在吗? –

+0

Just fyi,你可以把所有这些锚点放入一个单独的字符串中,并用一个'append'调用附加它,这样会更有效率。 – Mahn

回答

1

"<a href='' id='elastic-tie'>"不是HTML的有效部分。您需要关闭</a>标签,据推测,您还需要链接中的一些内容。

加上没有任何内容的链接,他们不占用页面上的任何空间,所以你永远不会得到他们的鼠标悬停事件。

2

您的代码当前包含语法错误。当你说append()工作时,我想你会在事件回调中运行该代码,例如准备。

当我是正确的,使用此:

jQuery(
    function($) 
    { 
    $('#swiffy-braces-diagram').css('background-image', "url('/assets/uploads/images/brace-painter.png')") 
       .append("<a href='' id='elastic-tie'>") 
       .append("<a href='' id='loop-in-archwire'>") 
       .append("<a href='' id='archwire'>") 
       .append("<a href='' id='bracket'>") 
       .append("<a href='' id='headgear-tube'>") 
       .append("<a href='' id='coil-spring'>") 
       .append("<a href='' id='tie-wire'>") 
       .append("<a href='' id='band'>") 
       .append("<a href='' id='hook'>") 
       .append("<a href='' id='elastic'>") 
       .append("<div id='description'>"); 

        // }); <--this has been removed 


      if($('#swiffy-braces-diagram a').length == 0){alert('some');} 

      $('#swiffy-braces-diagram a').each(function(i){ 
       $(this).mouseover(function(){ 
        $('#swiffy-braces-diagram #description').html(description[i]); 
       }); 
      }); 
     });//<--the removed brackets now are here 

注意,我追加后没有删除});()。

如果没有这个,你将会在那里保留就绪功能,其余的脚本将在之前执行你追加()所有这些元素。