그래서 삽입 된 스타일과 버튼의 스타일을 표시 할 인라인 스타일로 변경하는 기능이있는 버튼이 있습니다. 문제는 삽입 된 스타일이 인라인 스타일을 무시하는 것입니다. 따라서 질문은 다음과 같습니다.삽입 스타일이 인라인 스타일을 대체합니까?
- 인라인 스타일이 포함 된 것보다 우선해야합니까? 내 코드에 문제가 있습니까?
내 코드와 아무 잘못이없는 경우 :
- 가 어떻게 내 인라인 코드가 포함 된 스타일을 재정의 할합니까이?
HTML
<div id="buttonDiv1" style="float:left;"><button id="btn1">Change units</button></div>
<div id="buttonDiv1" style="float:left; display:none;"><button id="btn2">Change units</button></div>
<div id="buttonDiv1" style="float:left; display:none;"><button id="btn3">Change units</button></div>
<input id="text" style="float:left;"></input>
<div onChange="jsfunction()">
<div style="float: left">Type: <select id="typeSelector">
<option value="" disabled selected style="display:none;"></option>
<option value="1">Instrumental Cables</option>
<option value="2">Erected Piping Materials</option>
<option value="3">Electric Cables</option>
</select>
</div></div>
<div id="container" class="cont" style="min-width: 310px; height: 400px; max-width: 800px; margin: 0 auto"></div>
JS
JSfiddle이 문제를 설명하기function jsfunction(){
//Get from user which chart to display
var val = document.getElementById("typeSelector");
if(val.value==1){
document.getElementById("btn1").style.display="block";
document.getElementById("btn2").style.display="none";
document.getElementById("btn3").style.display="none";
}
else if(val.value==2){
document.getElementById("btn1").style.display="none";
document.getElementById("btn2").style.display="block";
document.getElementById("btn3").style.display="none";
}
else{
document.getElementById("btn1").style.display="none";
document.getElementById("btn2").style.display="none";
document.getElementById("btn3").style.display="block";
}
}
: http://jsfiddle.net/4T4pb/1/
편집 : 거기 내 데모 코드에 문제가 있었다 그래서 실제를 부착 나타납니다 코드
. 스타일을 잘못 입력했습니다. js에서 다음에 콘솔을 확인하십시오. Css-tricks.com은 css 특수성에 대해 모두 알려 줄 것입니다 : http://css-tricks.com/specifics-on-css-specificity/ – Brunis
@Brunis 그렇습니다. 데모 코드에는 문제가 없었습니다. 그러나 내 실제 코드에 문제가 있습니다. 업데이트 된 게시물 참조 – Genome314
당신은 html을 온 곳에서 위반하고 있으며, id는 고유하고, 모든 것이 떠 다니는 것을 멈추고, 모든 것이 자연스럽게 왼쪽에서 오른쪽으로 배치됩니다. 문제는 귀하의 디스플레이 : 없음입니다; 바깥 쪽 div에 있지만 js의 버튼을 변경하고 있습니다. 따라서 모든 여분의 쓰레기를 제거하고 잘못된 요소를 선택하지 않는 것이 더 쉽습니다. 이벤트 속성은 소문자이며 변경을 기대하는 항목 인 onchange 이벤트를 onchange 이벤트에 넣습니다. 나는 당신이 시작해야한다고 생각한다. :) – Brunis