点击按钮值jquery

时间:2014-10-20 20:20:27

标签: javascript jquery

我正在尝试找到点击的按钮值。这是我的htmlcode,我无法得到但总是得到第一个。

<div id="addSentiment" class="dialogs">
    <div id="1" class="dialogs">
        <div class="itemdiv dialogdiv">
            <div class="user">
                <img src="assets/avatars/avatar1.png" alt="Alexas Avatar">
            </div>
            <div class="body">
                <div class="time">  <i class="ace-icon fa fa-clock-o"></i>
    <span class="green">Date : 10/01/2014</span>

                </div>
                <div class="name">  <a href="index.html#">ki@n.com</a>

                </div>
                <div id="cat_1" class="text">category : Scheduling
                    <br>
                </div>
                <div id="op_1" class="text">ddd word/phrase : providing solutions
                    <br>
                </div>
                <div id="feature_1" class="text">ddd word/phrase : listen to
                    <br>
                </div>
                <div class="text">
                    <input type="hidden" value="1" name="hd">
                </div>
                <div class="tools"> <a id="edit_1" class="btn acebtn btn-minier btn-info" href="#">
                                                                            <i class="icon-only ace-icon fa fa-share"></i>
                                                                        </a>

                </div>
            </div>
        </div>
    </div>
    <div id="2" class="dialogs">
        <div class="itemdiv dialogdiv">
            <div class="user">
                <img src="assets/avatars/avatar1.png" alt="Alexas Avatar">
            </div>
            <div class="body">
                <div class="time">  <i class="ace-icon fa fa-clock-o"></i>
    <span class="green">Date : 10/01/2014</span>

                </div>
                <div class="name">  <a href="index.html#">tc@n.com</a>

                </div>
                <div id="cat_2" class="text">category : Scheduling
                    <br>
                </div>
                <div id="op_2" class="text">dddd : providing solutions
                    <br>
                </div>
                <div id="feature_2" class="text">ddddddde : listen to
                    <br>
                </div>
                <div class="text">
                    <input type="hidden" value="2" name="hd">
                </div>
                <div class="tools"> <a id="edit_2" class="btn acebtn btn-minier btn-info" href="#">
                                                                            <i class="icon-only ace-icon fa fa-share"></i>
                                                                        </a>

                </div>
            </div>
        </div>
    </div>
    <div id="3" class="dialogs">
        <div class="itemdiv dialogdiv">
            <div class="user">
                <img src="assets/avatars/avatar1.png" alt="Alexas Avatar">
            </div>
            <div class="body">
                <div class="time">  <i class="ace-icon fa fa-clock-o"></i>
    <span class="green">Date : 10/01/2014</span>

                </div>
                <div class="name">  <a href="index.html#">tn@nn.com</a>

                </div>
                <div id="cat_3" class="text">category : Scheduling
                    <br>
                </div>
                <div id="op_3" class="text">Opinion word/phrase : providing solutions
                    <br>
                </div>
                <div id="feature_3" class="text">Feature word/phrase : listen to
                    <br>
                </div>
                <div class="text">
                    <input type="hidden" value="3" name="hd">
                </div>
                <div class="tools"> <a id="edit_3" class="btn acebtn btn-minier btn-info" href="#">
                                                                            <i class="icon-only ace-icon fa fa-share"></i>
                                                                        </a>

                </div>
            </div>
        </div>
    </div>
</div>

我尝试在jquery中使用代码

$(".dialogs .itemdiv .tools").live("click",function(e){
    e.preventDefault();
alert('clicked on edit');

var n = $('.dialogs .itemdiv .tools a').attr('id');
    alert(n);
});

我在这里使用是因为我在jquery中使用append方法获得了高于html。

3 个答案:

答案 0 :(得分:0)

在更高版本的jQuery中不推荐使用

live - 但要解决您的问题,您需要使用this的实例

$("#addSentiment").on("click", ".dialogs .itemdiv .tools", function(e){
    e.preventDefault();
    alert('clicked on edit');

    var n = $("a", this).attr('id');
    alert(n);
});

答案 1 :(得分:0)

jQuery选择器捕获其内容的第一个匹配项。

要捕捉第n场比赛,您需要使用n-th child selector,如下所示:

$(".dialogs .itemdiv .tools:nth-child(2)")

答案 2 :(得分:0)

我不熟悉live方法,但您应该可以执行以下操作:

function addHandlers() {
  $(".dialogs .itemdiv .tools a").each(function() {
     $(this).click(function() {
         alert('clicked on edit');
     );      
  });
}

function yourAppendFunction() {
   //your append code
   //add call to a function that will create your event handlers
   addHandlers();
}

.each方法遍历符合选择条件的每个项目,然后我们在函数中使用this关键字来引用我们正在处理的内容。将它放在我们不会调用的函数中,直到您添加项目为止,确保在您尝试添加所需的处理程序时存在html。

API参考:

每种方法:http://api.jquery.com/each/

点击方法:http://api.jquery.com/click/