使用jquery获取单击类的子元素的值

时间:2015-08-20 11:07:41

标签: javascript jquery

我有一个课程amt,当点击该课程时,我想获得点击的<h6><span><label>标签的值。 我如何在jquery中执行此操作?我已经在Get value of List Item with jQuery看到了一个问题,但它在标记下使用相同的

  • ,但我必须在相同的标记下获得不同的elemet值

    <li class="amt" id="diecut_am1">
        <h6>50</h6>
        <span>$59.00</span>
        <label>$51.30</label>
    </li>
    <li class="amt" id="diecut_am2">
        <h6>100</h6>
        <span>$68.00</span>
        <label>$61.20</label>
    </li>
    
  • 4 个答案:

    答案 0 :(得分:2)

    试试这个

    $(".amt").click(function() {
        var elem1 = $(this).find("h6").html();
        var elem2 = $(this).find("span").html();
        var elem3 = $(this).find("label").html();
    
        alert(elem1);
        alert(elem2);
        alert(elem3);
    });
    

    https://jsfiddle.net/kLe5kLc3/1/

    答案 1 :(得分:2)

    你可以这样做:

    $( document ).ready(function() {
        $('.amt').on("click", function() {
           var h6 = $(this).find('h6').text();
           var span = $(this).find('span').text();
           var label = $(this).find('label').text();
        });
    });
    

    演示:https://jsfiddle.net/12q12k52/

    答案 2 :(得分:1)

    这是JS的方式:

    &#13;
    &#13;
    var amt = document.querySelectorAll('.amt')
    
    //add event listener to all .amt elements
    var amtArr = [].slice.call(amt)
    
    amtArr.forEach(function (x) {
        x.addEventListener('click', listChilds, true)
    });
    
    
    //we retrive the target properties
    function listChilds(e) {
    
        console.log(e.path[1]) //all the children 
    
        //if you want one in particular it would be
        console.log(e.target.childNodes[0])
    
    }
    &#13;
    <li class="amt" id="diecut_am1">
         <h6>50</h6>
     <span>$59.00</span>
    
        <label>$51.30</label>
    </li>
    <li class="amt" id="diecut_am2">
         <h6>100</h6>
     <span>$68.00</span>
    
        <label>$61.20</label>
    </li>
    &#13;
    &#13;
    &#13;

    答案 3 :(得分:-1)

    您可以迭代点击元素的children

    $(this).children()