2012-06-19 26 views
6

Làm cách nào để có được tất cả các phần tử td có 'colspan' lớn hơn 1 trong jQuery?chọn td elemensts với colspan

var nodes = $('td[colspan>1]'); 

Đoạn mã trên dường như không hoạt động.

Trả lời

8

Vì không có colspan = 0 bạn chỉ có thể làm

$('td[colspan]').not('[colspan=1]') 
+0

Nếu một td không có colspan thì sao? kiểm tra – Erik

+1

vì '[colspan]' chúng sẽ không được bao gồm. – Thomas

+0

Tôi thích cái này! – Erik

6

Sử dụng filter:

var nodes = $('td[colspan]').filter(function() { 
    return +$(this).attr('colspan') > 1 
}); 

Các + thêm vào phía trước $(this).attr('colspan') chuyển đổi chuỗi thành một số

+0

bạn cũng có thể sử dụng 'return this.colSpan> 1' – Esailija

+0

ye s, tôi không chắc chắn về cú pháp camelcase của thuộc tính :) (gần đây tôi không được sử dụng để xử lý các bảng) – fcalderan

2
var tds = $('td')​​​.each(function(){ 
    if($(this).attr('colspan') > 1){ 
     return $(this); 
    } 
})​ 
Các vấn đề liên quan