【问题标题】:Put string in href="javascript" in append将字符串放入 href="javascript" 追加
【发布时间】:2013-06-15 15:49:15
【问题描述】:

当我附加一个 li 时,我想将一个字符串放入一个 href="javascript:" 但我根本不工作....

 ajoutEnf("myString");
 function ajoutEnf(enf){
   $('#laliste').append('<li><a href="javascript:popEnfant('+enf+')" data-icon="edit" data-rel="popup">Enfant</a></li>');
   $('#enf').popup('close');
   $('#laliste').listview('refresh');
 }

【问题讨论】:

    标签: javascript jquery string append href


    【解决方案1】:

    该代码将产生:

    javascript:propEnfant(myString)
    

    因此单击该链接,脚本将查找名为myString 的变量。你可能想使用'&lt;li&gt;&lt;a href="javascript:popEnfant(\''+enf+'\')" ...

    需要注意的另一件事:如果在您的 DOMReady 事件侦听器中定义了 popEnfant(我不知道是不是这样),它将无法全局访问,这是 javascript:... 的要求工作。

    Demo

    【讨论】:

      【解决方案2】:

      做一些小改动:添加带单引号的斜线。

       $('#laliste').append('<li><a href="javascript:popEnfant(\''+enf+'\')" data-icon="edit" data-rel="popup">Enfant</a></li>');
      

      【讨论】:

      • 如果end == '"&gt;whoops&lt;/a&gt;&lt;a href="',这将严重失败
      • 哎呀。抱歉,是我的错。它应该是单引号。
      【解决方案3】:

      你可以使用jQuery.fn.on来绑定点击事件:

      ajoutEnf("myString");
      function ajoutEnf(enf){
          $('<a herf="#" data-icon="edit" data-rel="popup">Enfant</a>').on('click', function(event) {
              event.preventDefault(); // Stop the hash from changing to "" (page.html#)
              popEnfant(enf);
           }).wrap('<li/>').parent().appendTo('#laliste');
           $('#enf').popup('close');
           $('#laliste').listview('refresh');
       }
      

      这样你就不必串任何enf 并确保正确传递对象/数组。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-08-07
        • 2020-08-30
        • 1970-01-01
        • 1970-01-01
        • 2011-12-24
        • 2011-08-24
        相关资源
        最近更新 更多