Jquery如何获取attr标记值

时间:2014-12-17 23:35:54

标签: javascript jquery

我需要'c_name'中的值作为我点击的行。为什么这不起作用?什么是正确的语法argggg

http://jsfiddle.net/UW38e/400/

标题

<table id="choose-address-table" class="ui-widget ui-widget-content">
    <thead>
        <tr class="ui-widget-header ">
            <th>Name/Nr.</th>
            <th>Street</th>
            <th>Town</th>
            <th>Postcode</th>
            <th>Country</th>
            <th>Options</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td c_name="nr"><span>50</span>
            </td>
            <td>Some Street 1</td>
            <td>Glasgow</td>
            <td>G0 0XX</td>
            <td>United Kingdom</td>
         <button type="button" class="use-address">get value </button>
            </td>
        </tr>

    </tbody>
</table>

从表格语法

$("#choose-address-table").click(function() {
    var $row = $(this).attr("c_name"); // Find the text
      var $row = $(this).find(["c_name"]);
    // Let's test it out
    alert($row);
});

2 个答案:

答案 0 :(得分:1)

#choose-address-table没有名为c_name的属性 但它有一个具有该属性的单元格。

您可以使用属性选择器选择获取值所需的单元格

$(".use-address").click(function() {
    var $row = $(this).closest("tr");    // Find the row
    var $text = $row.find("[c_name]").text(); // Find the text

    // Let's test it out
    alert($text);
});

http://jsfiddle.net/UW38e/406/


从表格的角度来看

$("#choose-address-table").click(function(e) {
    if ($(e.target).is(".use-address")){// button clicked
        var $row = $(e.target).closest("tr");    // Find the row
        var $text = $row.find("[c_name]").text(); // Find the text

        // Let's test it out
        alert($text);
    }
});

http://jsfiddle.net/UW38e/407/

答案 1 :(得分:1)

我相信,您希望找到该行,然后找到具有td属性的c_name,然后在td内或span内的td。使用:

var $row = $(this).closest('tr');
var c_nameText = $($row).find('td[c_name]').text(); // Find the text

JSFiddle此处。