2010-10-01 31 views
12

Tôi đang cố gắng tìm một phần tử với một kiểu dáng cụ thể và thay đổi kiểu của nó thành một thứ khác.Tìm phần tử theo bộ chọn kiểu trong jquery

Dưới đây là yếu tố html

<table style='width: 555px;'> 
    <tr> 
    <td>blablabla</td> 
    </tr> 
</table> 

Bây giờ tôi đang cố gắng để tìm bảng với chiều rộng 555px và thay đổi nó để 650px sử dụng jquery.

$('table[style*=width:555px]').css("width", "610px"); 

Nhưng điều này không hoạt động. Ai đó có thể châm ngòi ý tưởng được không?

LƯU Ý: Vì một số lý do tôi không thể thay đổi html.

Trả lời

2

Vấn đề rõ ràng là phần tử của bạn là <table> và bộ chọn jQuery của bạn đang chọn tất cả <div> s.

Tôi cho rằng cũng có vấn đề với khoảng trắng, vì HTML của bạn chứa khoảng cách trong phần tử kiểu nhưng bộ chọn của bạn không. (Tôi có thể sai ở đây, không có kinh nghiệm với bộ chọn E[a*=v].)

+0

xin lỗi sai mã sao chép. Khối mã thực tế của tôi là $ ('table [style * = width: 555px]'). Css ("width", "610px"); – Krishna

19

Cảnh giác với những không gian :)

Và bạn nên trích dẫn giá trị với " hoặc '.

$('table[style*="width: 555px"]').css("width", "610px"); 

Nếu nó không hoạt động trong IE, bạn có thể thử xóa không gian? (Hoàn toàn chưa được kiểm tra!)

$('table[style*="width: 555px"],table[style*="width:555px"]') 
    .css("width", "610px"); 
+1

Làm việc một phần, ý tôi là làm việc trong firefox nhưng không có trong IE :( – Krishna

17
$('table').filter(function() { 
    return $(this).css('width') == '555px'; 
}).css("width", "610px"); 
Các vấn đề liên quan