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] );
                });
            });
4

2 回答 2

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

请注意,我确实删除 });了 append() 之后的。

没有它,您将把准备好的功能保留在那里,脚本的其余部分将在您 append() 所有这些元素之前执行。

于 2012-09-21T23:03:03.597 回答
1

"<a href='' id='elastic-tie'>"不是一段有效的 HTML。您需要结束</a>标记,并且可能还需要链接中的一些内容。

另外,链接中没有任何内容,它们不会占用页面上的任何空间,因此您永远不会在它们上获得鼠标悬停事件。

于 2012-09-21T22:58:00.903 回答