2012-04-25 16 views
5

Đây là loại một dòng phức tạp của HTML để tạo trong HAML:HAML - làm thế nào để tạo ra dòng này của HTML

<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> 

Tôi không chắc chắn làm thế nào để làm điều đó. Bất kỳ ý tưởng? Tôi chỉ có thể thực hiện việc này:

%a.btn 
    %span.icon-bar Hello 

nhưng không chắc chắn cách thực hiện các công việc phức tạp.

Cảm ơn!

Trả lời

18
%a.btn.btn-navbar{"data-target" => ".nav-collapse", "data-toggle" => "collapse"} 

HOẶC khác

%a.btn.btn-navbar{:data => {:toggle => 'collapse', :target => '.nav-collapse'}} 
+5

vì không có ruby ​​xảy ra trong dòng này, nó không giúp dễ đọc để sử dụng cú pháp tên lửa băm ở đây. '% a.btn.btn-navbar (dữ liệu-target =". Nav-collapse "data-toggle =" collapse ")' hữu ích hơn cho các nút không có giá trị thuộc tính được tính. – ocodo

+0

Cảm ơn, @Slomojo! Không biết cú pháp đó vì nó không có trong tài liệu HAML. Cung cấp khả năng đọc tốt nhất. – mwld

+0

Đó là trong tài liệu, ở đây http://haml.info/docs/yardoc/file.REFERENCE.html#attributes nhưng được thảo luận thứ yếu theo kiểu băm ruby. (không có neo riêng của nó) Chỉ cần thực hiện tìm kiếm trang trong "Thuộc tính kiểu HTML" – ocodo

-1
%a{:class => "btn btn-navbar", :data-toggle => "collapge", :data-target => ".nav-collapse"} Hello 

Chỉ cần từ việc đọc các trang web HAML ...

http://haml-lang.com/tutorial.html

** Tôi đã không kiểm tra này, tôi chỉ đọc nó trên trang web

+1

Không có điều này. Tôi đã nhận nó để làm cho ok với điều này:% a.btn.btn-navbar {: data => {: target => ".nav-collapse",: toggle => "collapse"}} – GeekedOut

9

Nhiều lớp học chỉ có thể chained together :

%a.btn.btn-navbar 

cung cấp:

<a class='btn btn-navbar'></a> 

Custom data attributes có thể được xác định với một :data băm duy nhất:

%a.btn.btn-navbar{:data => {:toggle => 'collapse', :target => '.nav-collapse'}} 

cho:

<a class='btn btn-navbar' data-target='.nav-collapse' data-toggle='collapse'></a> 
+2

+1 để hiển thị cách tránh gõ 'data-' cho mỗi thuộc tính dữ liệu! – antinome

3
/ 80 characters (Chandrakant's anser): 
%a.btn.btn-navbar{"data-target" => ".nav-collapse", "data-toggle" => "collapse"} 

/79 characters (Matt's answer): 
%a.btn.btn-navbar{:data => {:toggle => 'collapse', :target => '.nav-collapse'}} 

/69 characters (My fave method): 
%a.btn.btn-navbar(data-toggle="collapse" data-target=".nav-collapse") 

/68 characters (Ruby >= 1.9): 
%a.btn.btn-navbar{data: {toggle:"collapse", target:".nav-collapse"}} 
+4

đếm ký tự không phải là thước đo của tất cả mọi thứ. – ocodo

+1

Tôi biết, đó là lý do tại sao "Phương pháp ưa thích của tôi" không phải là tùy chọn ký tự thấp nhất. Tuy nhiên ít mã để đọc trên toàn bộ cơ sở mã của bạn thường sẽ làm cho nó nhanh hơn để đọc, nhanh hơn để gõ và ít RSI gây ra sự nghiệp của bạn (mặc dù tôi đã không đo nhấn phím). Tôi chắc rằng ai đó sẽ thấy thông tin này hữu ích. Đặc biệt là những người không nhận thức được các cú pháp thay thế có sẵn. – Gerry

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