将字符串放在href =“javascript”中

时间:2013-06-19 07:48:44

标签: javascript jquery string append href

我想把一个字符串放入一个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');
 }

3 个答案:

答案 0 :(得分:1)

该代码将产生:

javascript:propEnfant(myString)

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

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

Demo

答案 1 :(得分:1)

您可以使用jQuery.fn.on绑定click事件:

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字符串串起来,并确保正确传递对象/数组。

答案 2 :(得分:0)

做一些小改动:用单引号添加斜杠。

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