如何将锚元素追加到div?

时间:2016-09-27 15:35:08

标签: javascript jquery angularjs

我在我的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以使其可点击?

3 个答案:

答案 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"));