Làm thế nào để đặt một liên kết trên một nút với bootstrap?


92

Làm thế nào để đặt một liên kết trên một nút với bootstrap?

có 4 phương pháp trong tài liệu bootstrap:

<a href="#" class="btn btn-info" role="button">Link Button</a>
<button type="button" class="btn btn-info">Button</button>
<input type="button" class="btn btn-info" value="Input Button">
<input type="submit" class="btn btn-info" value="Submit Button">

Cái đầu tiên không phù hợp với tôi, không có nút nào hiển thị, chỉ có văn bản với liên kết, có cảm giác chủ đề tôi đang sử dụng.

Cái thứ hai hiển thị nút là thứ tôi muốn, nhưng mã gì khiến nút liên kết đến trang khác khi được nhấp vào?

Chúc mừng


2
jsfiddle.net/Lstcymqo các vấn đề có thể với chủ đề bạn đang sử dụng
linktoahref

Câu trả lời:


67

Bạn có thể gọi một hàm khi nhấp vào sự kiện của nút.

<input type="button" class="btn btn-info" value="Input Button" onclick=" relocate_home()">

<script>
function relocate_home()
{
     location.href = "www.yoursite.com";
} 
</script>

HOẶC sử dụng mã này

<a href="#link" class="btn btn-info" role="button">Link Button</a>

22
Một câu trả lời khá tệ được chấp nhận: các liên kết của bạn được phân tích cú pháp như thế nào bởi trình thu thập thông tin web? Không tiêu đề, không có mục tiêu, đó không phải là một liên kết, đó là một chuyển hướng ...
hugsbrugs

8
Điều này là hoàn toàn không cần thiết và thực sự không tốt cho SEO. Hãy xem giải pháp của tôi bên dưới ( stackoverflow.com/a/44130105/1202214 ).
Andreas Bergström

1
Câu trả lời tốt cho tôi.
Mo1

135

Nếu bạn không thực sự cần phần tử nút, chỉ cần di chuyển các lớp đến một liên kết thông thường:

<div class="btn-group">
    <a href="/save/1" class="btn btn-primary active">
        <i class="glyphicon glyphicon-floppy-disk" aria-hidden="true"></i> Save
    </a>
    <a href="/cancel/1" class="btn btn-default">Cancel</a>
</div>

Ngược lại, bạn cũng có thể thay đổi một nút để xuất hiện giống như một liên kết:

<button type="button" class="btn btn-link">Link</button>

11
một câu trả lời tốt hơn nhiều so với cái được chấp nhận - không cần javascript .. cảm ơn
Balaji Krishnan

3
Lưu ý về ngữ nghĩa và khả năng truy cập khi nào bạn nên sử dụng một nút và khi nào bạn nên sử dụng một liên kết. Nói chung, nút cho các hành động trên trang và các liên kết cho nội dung trong trang hoặc để điều hướng khỏi trang.
James Westgate

Tùy chọn thứ hai là tốt hơn;)
Pathros

132

Giải pháp dễ nhất là một trong những ví dụ đầu tiên của bạn:

<a href="#link" class="btn btn-info" role="button">Link Button</a>

Như bạn nói, lý do nó không hoạt động với bạn rất có thể là do vấn đề trong chủ đề bạn đang sử dụng. Không có lý do gì để sử dụng đánh dấu bổ sung cồng kềnh hoặc Javascript nội tuyến cho việc này.


6
Điều này là dễ nhất đối với tất cả.
Nana Partykar

2
Một lớp lót là tốt nhất;)
Ivan

12

Một thủ thuật khác để làm cho màu liên kết hoạt động chính xác bên trong <button>đánh dấu

<button type="button" class="btn btn-outline-success and-all-other-classes"> 
  <a href="#" style="color:inherit"> Button text with correct colors </a>
</button>

Xin lưu ý rằng trong bản beta bs4, ví dụ: btn-primary-outlineđã thay đổi thànhbtn-outline-primary


btn-outline-primarybtn-outline-primarylà những thứ giống nhau. Có lỗi chính tả không?
ismailarilik

Điều này làm việc cho tôi như phong cách neo đã được trên một thanh cuộn mục chủ đề jquery ui
Avagut

Thủ thuật gọn gàng kế thừa màu sắc
Sean McCarthy

9

Đây là cách tôi giải quyết

   <a href="#" >
      <button type="button" class="btn btn-info">Button Text</button>
   </a>  

3

Kết hợp các câu trả lời trên, tôi tìm thấy một giải pháp đơn giản có thể sẽ giúp bạn:

<button type="submit" onclick="location.href = 'your_link';">Login</button>

bằng cách thêm mã JS nội tuyến, bạn có thể biến đổi một nút trong liên kết và giữ nguyên thiết kế của anh ấy.


2

Bạn chỉ cần thêm mã sau đây;

<a class="btn btn-primary" href="http://localhost:8080/Home" role="button">Home Page</a>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.