我在我的angularjs项目上工作。
我的控制器中有这个字符串:
"<a href="http://waze.to/?navigate=yes&ll=72.0274, 564.7814" target="_blank">Open In Waze</a>"
我的模板中有这个div:
<div id="wazeArea" ng-init="editor.appandWazeLink(editor.siteId)"><i class="fa fa-car" aria-hidden="true"></div>
如何将上面的锚元素附加到div以使其可点击?
答案 0 :(得分:1)
这也让我很沮丧。您应该能够像这样将字符串名称嵌入其中:
var htmlStringFromController = "<a href="http://waze.to/?navigate=yes&ll=72.0274, 564.7814" target="_blank">Open In Waze</a>";
然后从那里打电话。
<div id="wazeArea" ng-init="editor.appandWazeLink(editor.siteId)">{{htmlStringFromController}}</div>
这里的问题是angular不想注入原始HTML,对吧?所以你可以用$ sce来完成它(AngularJS : Insert HTML into view)
但问题是,您是否可以将URL注入已存在于div中的锚标记中?像这样:
// controller code:
var URLFromController = "http://waze.to/?navigate=yes&ll=72.0274, 564.7814";
然后在视图中使用它,只在URLFromController真实时显示它。
<div id="wazeArea" ng-init="editor.appandWazeLink(editor.siteId)">
<a ng-if="URLFromController" href="{{URLFromController}}" target="_blank">Open in Waze</a>
</div>
答案 1 :(得分:0)
document.getElementById(&#34; wazeArea&#34;)。appendChild(单引号中的锚元素&#39;&#39;);
您可以在制作html字符串时使用单引号。它可以允许内部的双引号,而不需要转义字符
答案 2 :(得分:0)
// 1. get the parent of the div
// 2. append the anchor to it
$("#wazeArea").parent().append($(string));
// 3. move the div inside of the anchor by appending it
$("#id_of_a").append($("wazeArea"));