2010-07-08 27 views
6

Tôi đang sử dụng MyTableGrid để hiển thị Excel như kiểm soát trong trang web của mình.Bộ chọn jQuery có id và dấu phẩy

Các tế bào được tham chiếu với id như "mtgIC1_0,2" cho bảng 1, cột 0, hàng 2.

Thật không may, khi tôi cố gắng sử dụng bộ chọn jQuery với id này $("#mtgIC1_0,2"), nó không bao giờ làm việc.

Tôi đã tìm ra nó là do "," vì nó hoạt động với bất kỳ id nào khác trong trang không có hôn mê.

Trả lời

13

ID và TÊN thẻ phải bắt đầu bằng một lá thư ([A-Za-z]) và có thể được theo sau bởi bất kỳ số lượng chữ cái, chữ số ([0-9]), dấu gạch ngang ("- "), dấu gạch (" _ "), dấu hai chấm (". ") và dấu chấm (" ")

Tuy nhiên nếu bạn thoát khỏi dấu phẩy nó vẫn nên làm việc

ví dụ

$('#mtgIC1_0\\,2') 
+0

đánh bại tôi vào nó và lời khuyên tốt về thoát. – TNi

+1

Lưu ý rằng phần đầu tiên của câu trả lời này là dành riêng cho HTML4 và dưới đây, do đó, điều này sẽ không hợp lệ sau này :) –

+0

Nick, nếu chúng tôi đã thực hiện phương pháp đó thì không chính xác! – redsquare

3

Từ đây http://api.jquery.com/category/selectors/

"If you wish to use any of the meta-characters (#;&,.+*~':"!^$[]()=>|/) as a literal part of a name, you must escape the character with two backslashes: \\. For example, if you have an an input with name="names[]", you can use the selector $("input[name=names\\[\\]]")."

+0

Mặc dù chính xác để thoát khỏi ký tự đặc biệt ... Như ghi chú @redsquare - ID định danh không hợp pháp có thể chứa dấu phẩy. – scunliffe

1

tôi không biết ăn nói lấc cấc nếu đây là lý do, nhưng theo here, tên ID không được chứa dấu phẩy. Câu liên quan là:

Mã ID và NAME phải bắt đầu bằng chữ cái ([A-Za-z]) và có thể được theo sau bởi bất kỳ số chữ cái, chữ số ([0-9]), dấu gạch nối ("-"), dấu gạch dưới ("_"), dấu hai chấm (":") và dấu chấm (".").

+0

cảm ơn, nhưng "không nên xảy ra" và "bị mắc kẹt để đối phó với nó" là hai thế giới khác nhau =) – Eric

1

Nếu bạn đã biết tọa độ của bảng, bạn có thể nhắm mục tiêu các tế bào như thế này:

$('#myTable tr:nth-child(2) td:nth-child(2)').css('background-color', '#F00'); 
+0

+1 cho câu trả lời sáng tạo – redsquare

Các vấn đề liên quan