Trong html của tôi, tôi có một yếu tố span
:Nhận dữ liệu thuộc tính
<span class="field" data-fullText="This is a span element">This is a</span>
Và tôi muốn để có được những thuộc tính data-fullText
. Tôi đã thử hai cách này, nhưng họ đã không làm việc (cả hai trở undefined
):
$('.field').hover(function() {
console.log('using prop(): ' + $(this).prop('data-fullText'));
console.log('using data(): ' + $(this).data('fullText'));
});
Sau đó, tôi đã tìm kiếm và tìm thấy những câu hỏi này: How to get the data-id attribute? và jquery can't get data attribute value.
Câu trả lời của cả hai là "Use .attr('data-sth') or .data('sth')"
.
Tôi biết rằng .attr()
không được dùng nữa (trong jquery-1.11.0, mà tôi sử dụng), tuy nhiên, tôi đã thử.
Và nó đã hoạt động!
Ai đó có thể giải thích lý do tại sao?
'$ (this) .data ('toàn văn') 'sẽ hoạt động như các thuộc tính thấp hơn. Nhưng thực tế, bạn nên đặt nó là: 'data-fulltext' hoặc' data-full-text'. Đối với sau này, sau đó: '$ (this) .data ('fullText')' sẽ hoạt động, sử dụng cú pháp trường hợp lạc đà –
FYI, 'Tôi biết điều đó.attr() không được chấp nhận 'attr() không được dùng nữa, đây là phương thức sử dụng để thiết lập/nhận thuộc tính, không phải thuộc tính –
Vậy tôi nên sử dụng gì -' prop' hoặc 'attr'? –