JavaScript lấy chỉ mục của hàng được nhấp

xin chào các chuyên gia, tôi muốn lấy chỉ mục hàng khi nhấp vào nút (đây là nút được tạo động bên trong hàng của bảng) đây là mã mà tôi đã viết cho đến nay

function addrow(){	  var table=document.getElementById("mytable");var rowcount=table.rows.length;var row=table.insertRow(rowcount);var cell0=row.insertCell(0);var element=document.createElement("input");element.type="checkbox";cell0.appendChild(element);var cell1=row.insertCell(1);cell1.innerHTML=document.getElementById("name").value;var cell2=row.insertCell(2);cell2.innerHTML=document.getElementById("age").value;var cell3=row.insertCell(3);cell3.innerHTML=document.getElementById("desg").value;var cell4=row.insertCell(4);var element2=document.createElement("input");element2.type="button";element2.name="edit";element2.value="edit";element2.onclick=function editrow(){/*IS THIS THE CORRECT WAY TO ADD ONCLICK EVENT TO THIS BUTTON *//*HOW TO GET THE ROW INDEX WHEN THE BUTTON IS CLICKED};

Liên kết để bình luận
Chia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

JavaScript lấy chỉ mục của hàng được nhấp
JavaScript lấy chỉ mục của hàng được nhấp

jeffman

Đăng ngày 2 tháng 3 năm 2011

jeffman

  • JavaScript lấy chỉ mục của hàng được nhấp
    JavaScript lấy chỉ mục của hàng được nhấp

  • Các thành viên
    • 7. 8k
  • Ngôn ngữ. Chuyên về. HTML, CSS, JavaScript, PHP

    • Chia sẻ

Đăng ngày 2 tháng 3 năm 2011 (đã chỉnh sửa)

Đi ngược lên cây. Nếu nút là con của một ô trong bảng, thì phần tử 2. cha mẹNode. parentNode đề cập đến hàng; . cha mẹNode. cha mẹNode. rowIndex chứa giá trị bạn muốn. NHƯNG vì hàm được gắn vào phần tử 2 nên cách chính xác để tham chiếu đến phần tử 2 là sử dụng từ khóa this. Như thế này. cha mẹNode. cha mẹNode. rowIndexLưu ý rằng tất cả những điều này sẽ thay đổi nếu nút được lồng vào một hoặc nhiều phần tử khác bên trong ô của bảng. Nhìn lại hệ thống, có thể gửi trực tiếp giá trị của hàng vào hàm. Nếu nó hoạt động, điều đó thậm chí còn hiệu quả hơn, bởi vì sự thay đổi trong mối quan hệ cha-con sẽ không yêu cầu sửa đổi kịch bản. Nói cách khác

element2.onclick=function editrow(){   alert(row.rowIndex); // see if this works};

Lưu ý cẩn thận rằng hàng trong ngữ cảnh này là tên biến của bạn, không phải loại phần tử. Nếu bạn đã sử dụng một tên khác cho thành phần hàng, thì đó là tên bạn sẽ đặt trong hàm. Ngoài ra, loại điều này sẽ chỉ hoạt động vì hàng được bao quanh bởi một chức năng ẩn danh. Nếu bạn đang ràng buộc sự kiện nhấp vào một chức năng độc lập, thì cách duy nhất để làm cho nó hoạt động là sử dụng mẫu này

Nếu không có đối số nào được truyền cho phương thức

var listItem = document.getElementById( "bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

2, thì giá trị trả về là một số nguyên cho biết vị trí của phần tử đầu tiên trong đối tượng jQuery so với các phần tử anh chị em của nó

Nếu

var listItem = document.getElementById( "bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

2 được gọi trên một tập hợp các phần tử và một phần tử DOM hoặc đối tượng jQuery được truyền vào, thì

var listItem = document.getElementById( "bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

2 trả về một số nguyên cho biết vị trí của phần tử được truyền so với tập hợp ban đầu

Nếu một chuỗi bộ chọn được truyền dưới dạng đối số, thì

var listItem = document.getElementById( "bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

2 trả về một số nguyên cho biết vị trí của phần tử đầu tiên trong đối tượng jQuery so với các phần tử khớp với bộ chọn. Nếu phần tử không được tìm thấy,

var listItem = document.getElementById( "bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

2 sẽ trả về -1

Chi tiết

Hoạt động bổ sung cho

var listItem = document.getElementById( "bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

7, chấp nhận một chỉ mục và trả về một nút DOM,

var listItem = document.getElementById( "bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

2 có thể nhận một nút DOM và trả về một chỉ mục. Giả sử chúng ta có một danh sách không có thứ tự đơn giản trên trang

1

2

3

4

5

<ul>

<li id="foo">fooli>

<li id="bar">barli>

<li id="baz">bazli>

ul>

Nếu chúng tôi truy xuất một trong ba mục danh sách (ví dụ: thông qua hàm DOM hoặc dưới dạng ngữ cảnh cho trình xử lý sự kiện), thì

var listItem = document.getElementById( "bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

2 có thể tìm kiếm mục danh sách này trong tập hợp các phần tử phù hợp

1

2

var listItem = document.getElementById( "bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

Chúng tôi lấy lại vị trí dựa trên số không của mục danh sách

Mục lục. 1

Tương tự, nếu chúng ta truy xuất một đối tượng jQuery bao gồm một trong ba mục danh sách, thì

var listItem = document.getElementById( "bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

2 sẽ tìm kiếm mục danh sách đó

1

2

var listItem = $( "#bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

Chúng tôi lấy lại vị trí dựa trên số không của mục danh sách

Mục lục. 1

Lưu ý rằng nếu bộ sưu tập jQuery được sử dụng làm đối số của phương thức

var listItem = document.getElementById( "bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

2 chứa nhiều hơn một phần tử, thì phần tử đầu tiên trong tập hợp các phần tử phù hợp sẽ được sử dụng

1

2

var listItems = $( "li" ).slice( 1 );

alert( "Index: " + $( "li" ).index( listItems ) );

Chúng tôi lấy lại vị trí dựa trên 0 của mục danh sách đầu tiên trong tập hợp phù hợp

Mục lục. 1

Nếu chúng ta sử dụng một chuỗi làm đối số của phương thức

var listItem = document.getElementById( "bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

2, thì nó được hiểu là chuỗi bộ chọn jQuery. Phần tử đầu tiên trong số các phần tử đã khớp của đối tượng cũng khớp với bộ chọn này được đặt

1

2

var listItem = $( "#bar" );

alert( "Index: " + listItem.index( "li" ) );

Chúng tôi lấy lại vị trí dựa trên số không của mục danh sách

Mục lục. 1

Nếu chúng ta bỏ qua đối số,

var listItem = document.getElementById( "bar" );

alert( "Index: " + $( "li" ).index( listItem ) );

2 sẽ trả về vị trí của phần tử đầu tiên trong tập hợp các phần tử phù hợp với các phần tử anh chị em của nó

Làm cách nào để lấy chỉ mục hàng của bảng trong Javascript?

var index = $('bảng tr'). index(tr); Nếu không sử dụng JQuery, bạn có thể lặp qua tất cả phần tử TR để tìm TR phù hợp.

Làm cách nào để lấy dữ liệu hàng của bảng trong javascript onclick?

Bạn có thể lấy chi tiết hàng lưới bên trong sự kiện nhấp chuột bằng cách chuyển phần tử đích đến phương thức “getRowInfo” của thành phần Lưới .

Làm cách nào để lấy chỉ mục hàng của bảng động trong javascript?

Đây là một cách để làm điều đó. var table = document. getElementById("TableID"); for (var i = 0, row; row = table.

Làm cách nào tôi có thể nhận được giá trị nút được nhấp?

Chọn tất cả các nút và lưu vào một biến bằng phương thức querySelectorAll() . hãy để buttonList = tài liệu. truy vấnSelectorAll("nút"); .