我发现的所有其他答案只删除属性的设置,而不是完全删除属性.我正在将元素从绝对定位更改为固定定位.我需要删除正确的定位属性并将其替换为margin-right,以便元素在其父DIV中的位置.如果没有删除右边的属性,元素会一直到屏幕的右边,而不是像我需要的那样在DIV的右边.任何人都可以提出如何实现这一目标的建议吗?
我有一个使用jQuery .css()方法修改DIV样式的代码,但是它不起作用。这是我的代码的简化版本,可复制该问题。
HTML:
<input type="radio" name="show" id="showleft" value="showleft">Left
<input type="radio" name="show" id="showright" value="showright">Right
<div id="cfwrapper">XXXXXXXXX</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
#cfwrapper {
bottom: 10px;
left: 30px;
position: fixed;
}
Run Code Online (Sandbox Code Playgroud)
JavaScript:
$("input:radio[name=show]").click(function(event){
if (event.target.id == 'showleft') {
// remove property 'right:30px'
// add property 'left:30px'
} else if (event.target.id == 'showright') {
$('#cfwrapper').css('left',''); // remove property 'left:30px'
// add property 'right:30px'
}
});
Run Code Online (Sandbox Code Playgroud)
上面的代码中发生的事情是该行$('#cfwrapper').css('left','');
不起作用。我希望它从“ cfwrapper”中删除“ left”属性(然后“ XXXXXXXXX”将向左移动30px),然后使用类似的语句-- $('#cfwrapper').css('right','30px');
添加“ right”属性,以便“ XXXXXXXXX”将然后转到页面右侧,但是它不起作用。
谁能告诉我为什么它不起作用?它不应该工作吗?
JSFiddle:http : //jsfiddle.net/fidnut/hLqngbsb/