如何将动态添加的锚标记添加到下划线模板

时间:2016-02-27 06:34:10

标签: javascript jquery html backbone.js underscore.js

我正在创建一个模板,有一个动态创建的锚标签。 我需要将其添加到我的下划线模板中。

而且在下面的方法setIconClass中,我正在返回该类,但是一旦执行了setIconClass方法,该类为空,我需要将该类附加到我的锚标记

这就是我的尝试:

HTML:

<div id="section">
 <div class="container abc"></div>
 <div class="container def"></div>
</div>

JS:

define(['underscore', 'backbone'], function(_, Backbone) { 
   var View = Backbone.View.extend({ 
     el: "#section",
     initialize: function() {
       this.render();
     },
render: function() {
            var that = this;
            var _container = "", _linkURL = "", _targetWindow="",_domain="", _class="";
            _container = $('.container');
            if(_container.length > 0){
                $(_container).each(function(){
                    _targetWindow = $(this).attr('window');
                    _domain = $(this).attr('dom');
                    _linkURL = _domain + $(this).attr('url');
                    that.setIconClass($(this),_class);
                    $(this).wrapInner('<a class="'+_class+'" href="'+_linkURL+'" target="'+_targetWindow+'"></a>');
                });
            }
        },
setIconClass : function(checkClass,_class){
            var _dClass = (checkClass) ? checkClass.attr('class').toLowerCase() : "";
            if(_dClass.indexOf('abc') > 0){
                _class="abc";
                return _class;
            }
            else if(_dClass.indexOf('def') > 0){
                _class="def";
                return _class;
            }
        }
   });


});

1 个答案:

答案 0 :(得分:1)

您需要指定_class等于setIconClass的返回值。 Javascript是按值传递的。

_class = that.setIconClass($(this),_class);