Javascript 如何使用jQuery从输入中删除选中的属性
我正在尝试从选中为默认值的输入中删除选中的属性。我在用同位素过滤器 我试过了Javascript 如何使用jQuery从输入中删除选中的属性,javascript,jquery,Javascript,Jquery,我正在尝试从选中为默认值的输入中删除选中的属性。我在用同位素过滤器 我试过了 this.prop('checked', false); 及 什么都不管用 输入 <input type="checkbox" name="files[]" value="" class="item 35 40" style="visibility:hidden;" checked> 这应该可以做到 this.removeAttr('checked'); 在, jQuery 1.6+ 要更改复选框
this.prop('checked', false);
及
什么都不管用
输入
<input type="checkbox" name="files[]" value="" class="item 35 40" style="visibility:hidden;" checked>
这应该可以做到
this.removeAttr('checked');
在,
jQuery 1.6+
要更改复选框的属性,应使用.prop()函数
$('.prettycheckbox input').prop('checked', false);
$('.prettycheckbox input').prop('checked', true);
jQuery 1.5及以下版本
.prop()函数不存在,但.attr()具有类似的功能:
$('.prettycheckbox input').attr('checked', 'checked');
注意:removeAttr有效,但addAttr无效。这将解决以下问题:
$(document).ready(function(){
if($('input[type="checkbox"]').is(':checked') == true){
$('input[type="checkbox"]').prop('checked', false);
}
});
伙计们,这是完整的代码:
// remove element from DOM
proto.removeElem = function() {
this.element.parentNode.removeChild( this.element );
// remove display: none
this.css({ display: '' });
this.emitEvent( 'remove', [ this ] );
};
proto.remove = function() {
// just remove element if no transition support or no transition
if ( !transitionProperty || !parseFloat( this.layout.options.transitionDuration ) ) {
this.removeElem();
return;
}
// start transition
this.once( 'transitionEnd', function() {
this.removeElem();
});
this.hide();
};
proto.reveal = function() {
delete this.isHidden;
// remove display: none
this.css({ display: '' });
var options = this.layout.options;
var onTransitionEnd = {};
var transitionEndProperty = this.getHideRevealTransitionEndProperty('visibleStyle');
onTransitionEnd[ transitionEndProperty ] = this.onRevealTransitionEnd;
this.transition({
from: options.hiddenStyle,
to: options.visibleStyle,
isCleaning: true,
onTransitionEnd: onTransitionEnd
});
};
proto.onRevealTransitionEnd = function() {
// check if still visible
// during transition, item may have been hidden
if ( !this.isHidden ) {
this.emitEvent('reveal');
}
};
/**
* get style property use for hide/reveal transition end
* @param {String} styleProperty - hiddenStyle/visibleStyle
* @returns {String}
*/
proto.getHideRevealTransitionEndProperty = function( styleProperty ) {
var optionStyle = this.layout.options[ styleProperty ];
// use opacity
if ( optionStyle.opacity ) {
return 'opacity';
}
// get first property
for ( var prop in optionStyle ) {
return prop;
}
};
proto.hide = function() {
// set flag
this.isHidden = true;
// remove display: none
this.css({ display: '' });
var options = this.layout.options;
var onTransitionEnd = {};
var transitionEndProperty = this.getHideRevealTransitionEndProperty('hiddenStyle');
onTransitionEnd[ transitionEndProperty ] = this.onHideTransitionEnd;
this.transition({
from: options.visibleStyle,
to: options.hiddenStyle,
// keep hidden stuff hidden
isCleaning: true,
onTransitionEnd: onTransitionEnd
});
};
proto.onHideTransitionEnd = function() {
// check if still hidden
// during transition, item may have been un-hidden
if ( this.isHidden ) {
this.css({ display: 'none' });
this.emitEvent('hide');
}
};
您怎么会认为
this.attr('checked','checked')
会删除该属性?尝试替换您能否在proto.onHideTransitionEnd
函数中共享此
的值。?removeAttr删除选中的属性本身。所以,如果您不能再次使用checked属性。prop('checked',false)更好。什么是proto
?根据OP的代码,我假设这个
已经是一个jQuery对象,所以不需要在$(…)
中包装。你的答案中还有一些奇怪的引号字符
$(document).ready(function(){
if($('input[type="checkbox"]').is(':checked') == true){
$('input[type="checkbox"]').prop('checked', false);
}
});
// remove element from DOM
proto.removeElem = function() {
this.element.parentNode.removeChild( this.element );
// remove display: none
this.css({ display: '' });
this.emitEvent( 'remove', [ this ] );
};
proto.remove = function() {
// just remove element if no transition support or no transition
if ( !transitionProperty || !parseFloat( this.layout.options.transitionDuration ) ) {
this.removeElem();
return;
}
// start transition
this.once( 'transitionEnd', function() {
this.removeElem();
});
this.hide();
};
proto.reveal = function() {
delete this.isHidden;
// remove display: none
this.css({ display: '' });
var options = this.layout.options;
var onTransitionEnd = {};
var transitionEndProperty = this.getHideRevealTransitionEndProperty('visibleStyle');
onTransitionEnd[ transitionEndProperty ] = this.onRevealTransitionEnd;
this.transition({
from: options.hiddenStyle,
to: options.visibleStyle,
isCleaning: true,
onTransitionEnd: onTransitionEnd
});
};
proto.onRevealTransitionEnd = function() {
// check if still visible
// during transition, item may have been hidden
if ( !this.isHidden ) {
this.emitEvent('reveal');
}
};
/**
* get style property use for hide/reveal transition end
* @param {String} styleProperty - hiddenStyle/visibleStyle
* @returns {String}
*/
proto.getHideRevealTransitionEndProperty = function( styleProperty ) {
var optionStyle = this.layout.options[ styleProperty ];
// use opacity
if ( optionStyle.opacity ) {
return 'opacity';
}
// get first property
for ( var prop in optionStyle ) {
return prop;
}
};
proto.hide = function() {
// set flag
this.isHidden = true;
// remove display: none
this.css({ display: '' });
var options = this.layout.options;
var onTransitionEnd = {};
var transitionEndProperty = this.getHideRevealTransitionEndProperty('hiddenStyle');
onTransitionEnd[ transitionEndProperty ] = this.onHideTransitionEnd;
this.transition({
from: options.visibleStyle,
to: options.hiddenStyle,
// keep hidden stuff hidden
isCleaning: true,
onTransitionEnd: onTransitionEnd
});
};
proto.onHideTransitionEnd = function() {
// check if still hidden
// during transition, item may have been un-hidden
if ( this.isHidden ) {
this.css({ display: 'none' });
this.emitEvent('hide');
}
};