使用javascript字符串附加html

时间:2016-09-21 07:42:31

标签: javascript jquery html

我试图用javascript字符串追加html,但是单引号有些麻烦。

追加元素的工作原理:

$("<a class='action-button' id='pl65197buy' value='buy now'>Bekijk aanbieding</a>").prependTo("div#centerplist");

但是当我尝试添加一个onclick函数时它不会工作 - 我是否需要以某种方式逃避引号?

onclick="buy(this, 65197, null, 'pl65197qty",null, '/ajax/buy'

这显然是错误的,但它是最接近我在控制台中没有错误:

$("<a class='action-button' id='pl65197buy' value='buy now' onclick='buy(this, 65197, null, 'pl65197qty',null, '/ajax/buy'>Bekijk aanbieding</a>").prependTo("div#centerplist");

4 个答案:

答案 0 :(得分:1)

您需要使用\字符转义引号。试试这个

$("<a class='action-button' id='pl65197buy' value='buy now' onclick=\"buy(this, 65197, null, 'pl65197qty',null, '/ajax/buy')\">Bekijk aanbieding</a>").prependTo("div#centerplist");

答案 1 :(得分:1)

我建议在javascript中使用事件处理程序略有不同的方法。这样它更容易阅读和维护。

$("<a class='action-button' data-id='165197' id='pl65197buy' value='buy now' >Bekijk aanbieding</a>").prependTo("div#centerplist");

$(document).on("click",".action-button",function() {
    // your buy() function 
    // $(this) contains your pressed button information
    buy($(this)[0], $(this).data('id'), null, 'p' + $(this).data('id') + 'qty', null, '/ajax/buy')
});

例如,您可以使用data-id访问$(this).data('id')属性。

编辑:我已经包含了你的购买功能,如果p + id + qty是通用的,我不是,但是我觉得你知道它是如何工作的。

答案 2 :(得分:0)

testschema.table

试试这个

答案 3 :(得分:0)

试试这个。

&#13;
&#13;
<input ng-show="showFolderNameInput" 
   type="text" 
   name="folderName" 
   ng-model="folderName" 
   style="margin-left: 5%; width: 90%;padding-left:5px;" 
   placeholder="{{enterFolderName}}" 
   autofocus
   ng-focus="focused(aaa,bbb)"/>
&#13;
&#13;
&#13;