如何在jQuery中获取带有id的td的值

时间:2018-07-02 13:22:13

标签: javascript jquery

我想通过其AssertionError: expected false to equal undefined 获得<td>的值。当我尝试通过以下代码获取id值来获取<td>的值时。

null

在这里,我尝试使用function deletediv(ele){ var r = $("#row_ #price_"+ele).text(); alert(r); } 循环在<td>中获取值。

for

3 个答案:

答案 0 :(得分:1)

您的选择器错误,因为ID为row_的内容不存在。选择器中的单元格不用查找行,而是查找单元格,因为id应该是唯一的。

var data = [0,{}];
data[1].product = [{
product_name: 'SO',
product_code: 0,
price: 1000000000,
qty: 1
}];

for(var i=0 ; i< data[1].product.length ; i++ ){
    var product_name = data[1].product[i].product_name;
    var product_code = data[1].product[i].product_code;
    var product_price = data[1].product[i].price;
    var product_qty = data[1].product[i].qty;

    var row_count = i;

    var cell = $('<tr id="row_'+row_count+'"><td>'+product_code+'</td><td>'+product_name+'</td><td id="price_'+row_count+'">'+product_price+'</td><td><input type="text" class="form-control" name="qty_'+row_count+'" value="'+product_qty+'" style="width: 50%;" /></td><td> <input id="box_'+row_count+'" type="checkbox" name="cond_'+row_count+'" /><label for="box_'+row_count+'"><?php echo $lang_good; ?></label> </td><td><a onclick="deletediv('+row_count+')" class="btn btn-danger"  style="cursor:pointer"><i class="fa fa-trash-o"></i></a></td></tr><input type="hidden" class="form-control" name="pcode_'+row_count+'" value="'+product_code+'" />');

    $('#addItemWrp').append(cell);
}


function deletediv(ele){
    var r = $("#price_"+ele).text();
    var row = $("#row_"+ele);
    alert(r);
}
.btn{
width:2.5em;
height: 1em;
display:inline-block;
background-color:red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="addItemWrp"></table>

答案 1 :(得分:0)

这不是正确的选择器var r = $("#row_ #price_"+ele).text(); ID假定在整个文档中是唯一的。因此,请勿将两个ID组合为一个选择器。使用$('#row_'+ele)$('#price_'+ele)

答案 2 :(得分:0)

    <table>
        <tr>
            <td>test1</td>
            <td id="td1">test2</td>
        </tr>
    </table>


    <script>

            var sText = document.getElementById("td1").innerText;
            alert (sText);

    </script>