0

当我附加一个 li 时,我想将一个字符串放入 a 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');
 }
4

3 回答 3

1

该代码将产生:

javascript:propEnfant(myString)

因此,单击该链接,脚本将查找名为myString. 您可能想使用'<li><a href="javascript:popEnfant(\''+enf+'\')" ...

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

演示

于 2013-06-19T07:50:18.630 回答
1

您可以使用 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并确保正确传递对象/数组。

于 2013-06-19T07:55:18.657 回答
0

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

 $('#laliste').append('<li><a href="javascript:popEnfant(\''+enf+'\')" data-icon="edit" data-rel="popup">Enfant</a></li>');
于 2013-06-19T07:50:40.020 回答