2012-07-30 26 views
5

Tôi đang cố áp dụng kiểu động vào một vài danh sách thả xuống trong trang của mình. Sử dụng jQuery addClass thực sự thêm lớp vào tất cả các phần tử 'Chọn', vì tôi có thể thấy lớp này từ bảng điều khiển Chrome của mình. Tuy nhiên, các kiểu không được áp dụng cho các phần tử.jQuery addClass không áp dụng kiểu động

Bây giờ nếu tôi tự thêm lớp vào từng phần tử chọn riêng lẻ, sau đó lưu trang và làm mới, kiểu được áp dụng cho phần tử.

Bất kỳ ý tưởng nào về việc kiểu dáng không được áp dụng với việc phun lớp jquery?

$("select").addClass("select js-select"); 
+0

Bạn có thể đăng một ví dụ về jsFiddle không? – j08691

+0

Bạn có thể đăng một mẫu của HTML và CSS không? – hradac

+0

Vui lòng đăng Fiddle. Giúp chúng tôi giúp bạn! – SexyBeast

Trả lời

2

Bạn nói rằng các kiểu không được áp dụng, nhưng các lớp "chọn js-select" có được thêm vào các đầu vào được chọn không? Sau đó, phải có một số vấn đề với css hoặc có thể là trình duyệt.

$ ("chọn"). AddClass (..) sẽ hoạt động, không yêu cầu bạn chỉ định theo ID hoặc lớp.

+0

Bạn nói đúng, một khi tôi nhận ra anh ta đang thực sự nhắm vào yếu tố chọn. – Chris

+0

Điều này hiện đã được giải quyết. Đây là fiddle với tiêm làm việc một cách chính xác. Vấn đề là với css và javascript bao gồm. Chúng không hoạt động chính xác khi thêm chúng dưới dạng tài nguyên trong fiddle, tuy nhiên khi thêm chúng dưới dạng liên kết thay thế, nó hoạt động tốt. Fiddle: [link] (http://jsfiddle.net/5qKV2/) –

+0

Vì vậy, mọi thứ hoạt động ngay bây giờ? Vui vẻ giúp đỡ ;). – LazyTarget

2

Ví dụ này hoạt động:

<p><a href="#" id="clicker">Add Class</a></p> 
<div id="select">Hello World</div> 

javascript

$("#clicker").click(function() { 

    $("#select").addClass("select js-select"); 
}); 

Từ nhìn vào mã của bạn, có vẻ như rằng $ ("select") nên có hoặc là một ID hoặc chọn lớp trên đó. Bằng cách có một trong những bộ chọn đó, mã của bạn sẽ biết mục tiêu để áp dụng các kiểu. Nếu không, mã của bạn hoạt động tốt.

Chúc may mắn và hy vọng điều này sẽ hữu ích.

+0

Đây là jsfiddle, hy vọng các bạn có thể giúp tôi: [link] (http://jsfiddle.net/gc3wQ/2/) –

0

Hoạt động tốt nếu bạn thay đổi onDomReady thành onLoad. Giống như trong http://jsfiddle.net/gc3wQ/9/

+0

Vẫn không hoạt động. Các phong cách áp dụng là khá đáng kể, và họ sẽ rất đáng chú ý. Tôi thấy rằng việc sử dụng 'onLoad' đang tiêm các lớp, tuy nhiên các kiểu không được áp dụng. Tuy nhiên, nếu bạn đặt thủ công các lớp trong các phần tử được chọn, các kiểu được áp dụng. –

+0

Bây giờ nó hoạt động, nhưng chỉ không có trong jsFiddle. http://jsfiddle.net/gc3wQ/11/ Thực hiện thói quen bao bọc tất cả mã jQuery của bạn ở bên cạnh: $ (tài liệu) .ready (function() { }); Xem thêm: http://docs.jquery.com/Tutorials:Introducing_%24%28document%29.ready%28%29 – LazyTarget

+0

Bạn có thấy các kiểu được áp dụng trong fiddle không? Tôi vẫn không nhìn thấy chúng. Vui lòng thêm phong cách theo cách thủ công trước tiên, để có ý tưởng về các kiểu tôi đang cố gắng tiêm. Tôi đang tiêm những kiểu này thành một dạng động trên trang của tôi, vì vậy về mặt lý thuyết nếu tôi có thể chèn các kiểu vào các phần tử chọn tôi tạo trên dom, tôi cũng có thể chèn các kiểu vào các phần tử được tạo động. –

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