如何将带有HTML代码的字符串转换为可用的HTML代码(在Ruby或Javascript中)?

时间:2014-06-26 17:01:41

标签: javascript jquery html ruby

我将以下代码放入Ruby数组中:

@data << "=> <div><a href='/company/#{d.name}'>See profile</a></div>"

我试过这个:

@data << "=> <div><a href='/company/#{d.name}'>See profile</a></div>".html_safe

但它对我没有帮助。

我将@data传递给JSON(@data.to_json),因此在JS中,我需要将标签查看个人资料作为链接,而不是文本。所以我试过

label1 = variable_with_the_string_from_above.html();

但这对我也没有帮助......在JS变量中,查看个人资料仍然只是纯文本(<div><a href='/company/#{d.name}'>See profile</a></div>),而不像HTML链接。

怎么做?

谢谢你们

1 个答案:

答案 0 :(得分:0)

在JavaScript中:

var htmlArray = ["<div><a href='/company/#{d.name}'>See profile</a></div>"];

注入HTML:

document.write(htmlArray[0]);

如果您将{d.name}作为变量传递,请尝试使用AngularJS。

创建控制器和范围 - &gt;

App.controller('MainCtrl', ['$scope', function ($scope) 
{
$scope.dname = dname(); etc. 
 }]);

而不是你的html或js:

var htmlArray = ["<div><a href='/company/{{dname}}'>See profile</a></div>"];

确保阵列在控制器范围内!

<div ng-controller="MainCtrl">
...
</div>

更简单的方法是使用AngularJS路由:

sampleApp.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/companyOne', {
        templateUrl: 'templates/c1.html',
        controller: 'c1'
    }).
      when('/companyTwo', {
        templateUrl: 'templates/c2.html',
        controller: 'c2'
      }).

      otherwise({
        redirectTo: '/default'
      });
}]);