我有以下 JQuery 代码:
$(targetSelector)
.attr('data-disabled', 'yes')
.attr('title', '')
.addClass('disabled')
.prop('disabled', true);
如何更改此代码,以便在将 title 属性设置为 '' 之前获取标题的当前值并将其存储在 'data-title' 属性中。
我有以下 JQuery 代码:
$(targetSelector)
.attr('data-disabled', 'yes')
.attr('title', '')
.addClass('disabled')
.prop('disabled', true);
如何更改此代码,以便在将 title 属性设置为 '' 之前获取标题的当前值并将其存储在 'data-title' 属性中。
尝试这个
$(targetSelector)
.attr({'data-disabled' : 'yes', 'data-title' : function() {return this.title;}}) // set the title before it is removed
.attr('title', '')
.addClass('disabled')
.prop('disabled', true);
你可以这样做:
$(targetSelector).attr({
'data-disabled': 'yes',
'data-title': function() { return this.title }
'title': ''
}).addClass('disabled').prop('disabled', true);
其他答案是相似的,但是this.title
只有this
在元素是元素时才能访问,这取决于上下文。上面的方法使用 function 属性来返回标题。
尝试这个
$(targetSelector)
.attr('data-disabled' : 'yes')
.attr('data-title', $(this).attr('title'))
.attr('title', '')
.addClass('disabled')
.prop('disabled', true);