如何使这个jQuery在AngularJS指令中使用?
我想从angular使用以下jQuery:如何使这个jQuery在AngularJS指令中使用?,jquery,angularjs,Jquery,Angularjs,我想从angular使用以下jQuery: jQuery.prototype.stars = function() { return $(this).each(function() { var val = parseFloat($(this).html()); var size = Math.max(0, (Math.min(5, val))) * 16; var $span = $('<span />').width(size); $
jQuery.prototype.stars = function() {
return $(this).each(function() {
var val = parseFloat($(this).html());
var size = Math.max(0, (Math.min(5, val))) * 16;
var $span = $('<span />').width(size);
$(this).html($span);
});
}
$(function() {
$('span.stars').stars();
});
但是我不知道如何重写函数stars(),jQuery已经用(jQuery.prototype.stars)进行了扩展。非常感谢你的帮助 jQuery函数所做的一切似乎都是用一个
标记替换数字,标记的宽度基于标记中包含的数字。我建议将函数作为指令的一部分,并为angular重构它,类似于:
link: function($scope, elem, attrs) {
function starify() {
var val = parseFloat(angular.element(elem).html());
var size = Math.max(0, (Math.min(5, val))) * 16;
var span = angular.element('<span/>').css('width', size+'px');
angular.element(elem).html(span[0].outerHTML);
}
starify();
}
链接:函数($scope、elem、attrs){
函数starify(){
var val=parseFloat(angular.element(elem.html());
变量大小=数学最大值(0,(数学最小值(5,val))*16;
var span=angular.element(“”).css('width',size+'px');
angular.element(elem).html(span[0].outerHTML);
}
淀粉化();
}
这是使用angular的基本元素提供程序(jQlite)。无需等待文档准备就绪
下面是一个超级简单的plunker:看起来jQuery函数所做的只是用一个
标记替换数字,标记的宽度基于标记中包含的数字。我建议将函数作为指令的一部分,并为angular重构它,类似于:
link: function($scope, elem, attrs) {
function starify() {
var val = parseFloat(angular.element(elem).html());
var size = Math.max(0, (Math.min(5, val))) * 16;
var span = angular.element('<span/>').css('width', size+'px');
angular.element(elem).html(span[0].outerHTML);
}
starify();
}
链接:函数($scope、elem、attrs){
函数starify(){
var val=parseFloat(angular.element(elem.html());
变量大小=数学最大值(0,(数学最小值(5,val))*16;
var span=angular.element(“”).css('width',size+'px');
angular.element(elem).html(span[0].outerHTML);
}
淀粉化();
}
这是使用angular的基本元素提供程序(jQlite)。无需等待文档准备就绪
下面是一个超级简单的扑救: