我试图在div中添加一些HTML,但我无法正确获取引号......这是我认为可行的,但不是......:< / p>
success: function (data) {
id = data.photo_id;
$("#successtext").append('<a href="https://www.theurl.com/' + id + '" data-role="button">The link</a><a href="#" data-role="button">Log Out</a>');
$("#success").show();
$("#uploading").hide();
$("#turn").hide();
turnable = 0;
}
如您所见,这是Ajax调用的一部分。请注意,附加确实有效,而不是使用正确的按钮标记。
注意:第一个链接指向例如https://www.theurl.com/223424324
我做错了什么,为什么?谢谢!
答案 0 :(得分:2)
现有:
'<a href="https://www.theurl.com/"'+id+'"
在向href
添加id
之前,您结束了id
属性的引号,并且在添加'<a href="https://www.theurl.com/'+id+'"
之后,您再次添加了引号,这样就破坏了这些内容。
正确:
$.mobile.activePage.find('#successtext').trigger('create');
基本的一点是,当您在ajax请求之后附加文本时,jquery mobile不会在链接周围创建自己的DOM元素,使其看起来像一个按钮。因此,我们需要允许jquery mobile在添加文本后创建其DOM。 尝试以下功能。
{{1}}
答案 1 :(得分:1)
您在www.theurl.com/"'+id+'"
处有额外报价,请更改为:
$("#successtext").append('<a href="https://www.theurl.com/'+id+'" data-role="button">The link</a><a href="#" data-role="button">Log Out</a>');
更新:: 在追加
后调用.trigger('create')
$("#successtext")
.append('<a href="https://www.theurl.com/'+id+'" data-role="button">The link</a><a href="#" data-role="button">Log Out</a>')
.trigger('create');
演示:: jsFiddle
答案 2 :(得分:1)
试试这个:
JS:
$('#successtext').append('<a href="https://www.theurl.com/'+id+'" data-role="button">The link</a><a href="#" data-role="button">Log Out</a>');
答案 3 :(得分:1)
正如其他人所指出的,问题是你的href有两个右引号(基本上是href="...""
)。然而,它确实突出了在使用jQuery附加它们之前手动将长html片段填充到JS字符串中可能遇到的问题。考虑将html元素视为对象,并使用jQuery构造它们:
$("#successtext").append($("<a />", {
href: "https://www.theurl.com/" + id,
"data-role": "button",
text: "The link"
}), $("<a />", {
href: "#",
"data-role": "button",
text: "Log Out"
}));