在jQuery中启用或禁用<i> </i>

时间:2013-11-14 05:42:35

标签: jquery

我正在尝试仅在<i class="icon-add user">内点击class=container,当点击.user但似乎没有成功时。还有其他<i>,但不需要触及它们。我只停留了禁用,启用部分。你能帮忙吗?

$(document).ready(function() {
    $(".user").click(function(){
        console.log('Was clicked');
        $('.container.user').attr('disabled', 'disabled');// Disable all links

        $('.container.user').attr('disabled', '');// Enabled later by the script on success
    });
});

<div class="container">
    <div><i class="icon-add user"></i></div>
    <div><i class="icon-add user"></i></div>
    <div><i class="icon-add user"></i></div>
    <div><i class="icon-add user"></i></div>
    <div><i class="icon-add user"></i></div>
    <div><i class="icon-add user"></i></div>
</div>

2 个答案:

答案 0 :(得分:3)

选择器$('.container.user')表示同时包含containeruser类的元素。要选择后代,您需要.container.user之间的空格您正在使用i标记,您可能需要使用a作为锚点。您也可以在同一事件中启用和禁用,这样您的第一个设置就会被覆盖。

更改

$('.container.user')

$('.container .user')

attr()正在设置disable属性但不禁用单击。使用off删除事件以分离点击事件,您可以对其进行测试here

答案 1 :(得分:1)

selector错误地使用.container .user代替'.container.user'

并使用prop()代替attr()

$(document).ready(function() {
    $(".user").click(function(){
        console.log('Was clicked');
        $('.container .user').prop('disabled', true);// Disable all links    
        $('.container .user').prop('disabled', false);// Enabled later by the script on success
    });
});