如果你願意使用的角度,我想出了一些可能爲你工作: https://jsfiddle.net/15bu2qsk/1/
編輯對角新版本:https://jsfiddle.net/15bu2qsk/2/
這是一個簡單的角度指令,允許您使用標籤。
<star-rating stars=3></star-rating>
它可以作爲這樣的:
<html ng-app="myApp">
<head>
<title>Star Rating Directive</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
</head>
<body>
<script>
var app = angular.module('myApp', []);
app.directive('starRating', function() {
return {
restrict: 'E',
scope: {
stars: '=stars'
},
template: "<span ng-repeat='i in getTimes(stars) track by $index' class='glyphicon glyphicon-star'></span>",
link: function ($scope) {
$scope.getTimes = function (n) {
return new Array(n);
};
}
};
});
</script>
<star-rating stars=3></star-rating>
</body>
</html>
如果您已經採用了棱角分明,這應該是好的。我不會僅僅爲此特別使用角度,因爲它會增加太多的開銷與功能。
請看看http://codepen.io/jamesbarnett/pen/vlpkh – vijayP
你怎麼打算把這些結果到頁面/動態生成的網頁? – Nikerym
你的動態是什麼意思?這是在搜索框中輸入內容後顯示的頁面,我將其重定向到結果頁面,循環遍歷每個結果。頁面上可能有幾十個結果,每個結果都會有一個可以表示評分的int值。所以我不想執行任何邏輯,我只是想獲取評級值並將其插入屬性或其他內容,並讓它顯示星星。它不需要像這樣工作,我只是不想運行頁面上的任何邏輯,並且我不想在頁面加載後執行任何jQuery邏輯。 – user1186050