Câu trả lời:
Trước khi chúng tôi viết bất kỳ mã nào, hãy thảo luận về sự khác biệt giữa các thuộc tính và thuộc tính. Các thuộc tính là các cài đặt bạn áp dụng cho các thành phần trong đánh dấu HTML của bạn ; trình duyệt sau đó phân tích cú pháp đánh dấu và tạo các đối tượng DOM thuộc nhiều loại khác nhau có chứa các thuộc tính được khởi tạo với các giá trị của các thuộc tính. Trên các đối tượng DOM, chẳng hạn như đơn giản HTMLElement
, bạn hầu như luôn muốn làm việc với các thuộc tính của nó , chứ không phải bộ sưu tập thuộc tính của nó .
Thực tiễn tốt nhất hiện nay là tránh làm việc với các thuộc tính trừ khi chúng là tùy chỉnh hoặc không có thuộc tính tương đương để bổ sung. Kể từ khi title
không thực sự tồn tại như một đọc / ghi tài sản trên nhiều HTMLElement
s, chúng ta nên tận dụng lợi thế của nó.
Bạn có thể đọc thêm về sự khác biệt giữa các thuộc tính và thuộc tính ở đây hoặc ở đây .
Với ý nghĩ này, hãy thao túng rằng title
...
title
tính của phần tử mà không cần jQueryVì title
là một thuộc tính công cộng, bạn có thể đặt nó trên bất kỳ phần tử DOM nào hỗ trợ nó bằng JavaScript đơn giản:
document.getElementById('yourElementId').title = 'your new title';
Truy tìm gần như giống hệt nhau; không có gì đặc biệt ở đây:
var elementTitle = document.getElementById('yourElementId').title;
Đây sẽ là cách nhanh nhất để thay đổi tiêu đề nếu bạn là người tối ưu hóa, nhưng vì bạn muốn jQuery tham gia:
title
hữu với jQuery (v1.6 +)jQuery đã giới thiệu một phương thức mới trong v1.6 để lấy và thiết lập các thuộc tính. Để đặt thuộc title
tính trên một phần tử, sử dụng:
$('#yourElementId').prop('title', 'your new title');
Nếu bạn muốn truy xuất tiêu đề, hãy bỏ qua tham số thứ hai và nắm bắt giá trị trả về:
var elementTitle = $('#yourElementId').prop('title');
Kiểm tra prop()
tài liệu API cho jQuery.
Nếu bạn thực sự không muốn sử dụng các thuộc tính hoặc bạn đang sử dụng phiên bản jQuery trước v1.6, thì bạn nên đọc tiếp:
title
thuộc tính của một phần tử với jQuery (phiên bản <1.6)Bạn có thể thay đổi title
thuộc tính với mã sau:
$('#yourElementId').attr('title', 'your new title');
Hoặc truy xuất nó với:
var elementTitle = $('#yourElementId').attr('title');
Kiểm tra attr()
tài liệu API cho jQuery.
Trong các hộp thoại phương thức jquery ui, bạn cần sử dụng cấu trúc này:
$( "#my_dialog" ).dialog( "option", "title", "my new title" );
Tôi tin
$("#myElement").attr("title", "new title value")
hoặc là
$("#myElement").prop("title", "new title value")
nên làm trò lừa ...
Tôi nghĩ rằng bạn có thể tìm thấy tất cả các hàm cốt lõi trong Tài liệu jQuery , mặc dù tôi ghét định dạng.
Một tùy chọn khác, nếu bạn thích, sẽ là lấy phần tử DOM từ đối tượng jQuery và sử dụng các trình truy cập DOM tiêu chuẩn trên nó:
$("#myElement")[0].title = "new title value";
"Cách jQuery", như được đề cập bởi những người khác, là sử dụng phương thức attr (). Xem tài liệu API cho attr () tại đây .
jqueryTitle({
title: 'New Title'
});
cho tiêu đề đầu tiên:
jqueryTitle('destroy');
Ngoài câu trả lời @ Cᴏʀʏ, hãy đảm bảo tiêu đề của chú giải công cụ chưa được đặt thủ công trong phần tử HTML. Trong trường hợp của tôi, lớp span cho tooltip đã có một văn bản tittle cố định, do hàm JQuery này của tôi$('[data-toggle="tooltip"]').prop('title', 'your new title');
không hoạt động.
Khi tôi loại bỏ thuộc tính title trong lớp span HTML, jQuery đã hoạt động.
Vì thế:
<span class="showTooltip" data-target="#showTooltip" data-id="showTooltip">
<span id="MyTooltip" class="fas fa-info-circle" data-toggle="tooltip" data-placement="top" title="this is my pre-set title text"></span>
</span>
Nên becode:
<span class="showTooltip" data-target="#showTooltip" data-id="showTooltip">
<span id="MyTooltip" class="fas fa-info-circle" data-toggle="tooltip" data-placement="top"></span>
</span>