使用jquery隐藏名称的元素

时间:2014-05-21 03:48:50

标签: javascript jquery backbone.js jquery-selectors

我正在使用骨干和

我在模板中有以下代码

    <a class="al_ynbtn apv_app" id="approveLeave" name=<%=leave_request_id%>></a>
    <a class="al_ynbtn can_app" id="rejectLeave" name=<%=leave_request_id%>></a>

在渲染功能中我有以下代码

  render: function() {
        $(this.el).html(this.template(this.model));
        var selectedElem='[name='+self.model.leave_request_id+']';
            console.log(selectedElem);
            console.log($(selectedElem));
            //$("a[name='"self.model.leave_request_id+"']" )
            $(selectedElem).hide();


        return this.el;
    }

console.log(selectedElem)打印[name = 3257]

和console.log($(selectedElem))打印

[a#approveLeave.al_ynbtn.apv_app,#rejectLeave.al_ynbtn.can_app,prevObject:m.fn.init [1],context:document,selector:“[name = 3257]”,jquery:“1.11。 1“,构造函数:function ...] 0:#approveLeave.al_ynbtn.apv_app 1:#rejectLeave.al_ynbtn.can_app 上下文:文件 长度:2 prevObject:m.fn.init [1] 选择器:“[name = 3257]” proto :对象[0]

我想要隐藏名称= 3257的元素?怎么做?

3 个答案:

答案 0 :(得分:1)

使用jquery:

$('a').filter(function(){
    return this.name === '3257';
}).hide();

答案 1 :(得分:1)

render: function() {
    $(this.el).html(this.template(this.model));
    var selectedElem='[name='+self.model.leave_request_id+']';
    //$('[name=\'3257\']').hide(); //Hardcoded name value
    $('[name=\'' + self.model.leave_request_id + '\']').hide();//jQuery cascades so you can call .hide() on the same line
    return this.el;
}

答案 2 :(得分:0)

我认为你的姓名缺少引号:

<a class="al_ynbtn apv_app" id="approveLeave" name="<%=leave_request_id%>"></a>
<a class="al_ynbtn can_app" id="rejectLeave" name="<%=leave_request_id%>"></a>