Ich habe eine div
mit id="div_register"
. Ich möchte es width
dynamisch in JavaScript einstellen .
Ich verwende diesen folgenden Code:
getElementById('div_register').style.width=500;
Diese Codezeile funktioniert jedoch nicht.
Ich habe auch versucht, die Einheiten px
wie folgt zu verwenden, immer noch kein Glück:
getElementById('div_register').style.width='500px';
und
getElementById('div_register').style.width='500';
und
getElementById('div_register').style.width=500px;
aber keiner dieser Codes funktioniert für mich.
Ich weiß nicht, was falsch läuft.
Ich benutze Mozilla Firefox.
BEARBEITEN
<html>
<head>
<title>Untitled</title>
<script>
function show_update_profile() {
document.getElementById('black_fade').style.display='block';
//document.getElementById.('div_register').style.left=((window.innerWidth)-500)/20;
document.getElementById('div_register').style.height= "500px";
document.getElementById('div_register').style.width= '500px';
//alert('kutta');
document.getElementById('div_register').style.display='block';
document.getElementById('register_flag').value= 1;
document.getElementById('physical_flag').value= 0;
document.getElementById('cultural_flag').value= 0;
document.getElementById('professional_flag').value= 0;
document.getElementById('lifestyle_flag').value= 0;
document.getElementById('hobby_flag').value= 0;
//alert(window.innerWidth);
}
</script>
<style>
.white_content {
display:none;
}
</style>
</head>
<body>
<div id="main">
<input type="button" onclick="javascript:show_update_profile();" id="show" name="show" value="show"/>
</div>
<div id="div_register">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
welcome
</td>
</tr>
</table>
</div>
</body>
</html>
javascript
Saswat
quelle
quelle
onload
Ereignis einzustellen?div_register
die richtige ID Ihres Elements ist? Vielleicht geben Sie uns auch etwas HTML ...style.width="500px";
sollte richtig sein.onclick="show_update_profile()"
anstelle vononclick="javascript:show_update_profile()"
Antworten:
Die von Ihnen verwendeten Eigenschaften funktionieren möglicherweise nicht in Firefox, Chrome und anderen Nicht-IE-Browsern. Damit dies in allen Browsern funktioniert, empfehle ich außerdem Folgendes hinzuzufügen:
Aus Gründen der Kreuzkompatibilität müssen Sie die Eigenschaft weiterhin verwenden. Bestellung kann auch wichtig sein. Wenn ich beispielsweise in meinem Code Stileigenschaften mit JavaScript festlege, lege ich zuerst das Stilattribut und dann die Eigenschaften fest:
Das für Sie am besten browserübergreifende Beispiel wäre daher:
Ich möchte auch darauf hinweisen, dass eine viel einfachere Methode zum Verwalten von Stilen darin besteht, einen CSS-Klassen-Selektor zu verwenden und Ihre Stile in externen CSS-Dateien abzulegen. Ihr Code ist nicht nur viel wartbarer, sondern Sie werden sich auch mit Ihren Webdesignern anfreunden!
Jetzt kann ich einfach ein Klassenattribut, eine einzelne Eigenschaft, hinzufügen und entfernen, anstatt mehrere Eigenschaften aufzurufen. Wenn Ihr Webdesigner die Definition dessen ändern möchte, was es bedeutet, breit zu sein, muss er nicht in Ihrem wunderschön gepflegten JavaScript-Code herumstöbern. Ihr JavaScript-Code bleibt unberührt, das Thema Ihrer Anwendung kann jedoch problemlos angepasst werden.
Diese Technik folgt der Regel, Ihren Inhalt (HTML) von Ihrem Verhalten (JavaScript) und Ihrer Präsentation (CSS) zu trennen.
quelle
display: block
wurde auch festgelegt.display:block;cursor:pointer;cursor:hand
alle in denselben setAttribute-Aufruf eingefügt. Wenn Sie möchten, dass Ihr Leben einfacher wird, verwenden Sie eine progressive JavaScript-Bibliothek wie jQuery. Der einzige Grund, warum ich in meinem Code rohes JavaScript verwendet habe, ist, dass es zum Einbetten von Code in Client-Websites verwendet wurde, sodass sich die tatsächlichen Umgebungen von Site zu Site unterscheiden. Der einfachste Weg, Bibliothekskonflikte in freier Wildbahn zu vermeiden, besteht darin, sie einfach nicht zu verwenden.Dies sind verschiedene Möglichkeiten, um Stil auf ein Element anzuwenden. Probieren Sie eines der folgenden Beispiele aus:
quelle
Korrigieren Sie die Tippfehler in Ihrem Code ("Dokument" ist in den Zeilen 3 und 4 Ihrer Funktion falsch geschrieben, und ändern Sie den onclick-Ereignishandler in "onclick =" show_update_profile () ". Dann ist alles in Ordnung. Sie sollten wirklich folgen Der Rat von jmort und das Einrichten von 2 CSS-Klassen, zwischen denen Sie in Javascript wechseln - dies würde Ihr Leben viel einfacher machen und Sie vor all dem zusätzlichen Tippen bewahren. Die Tippfehler, die Sie begangen haben, sind ein perfektes Beispiel dafür, warum dies der bessere ist Ansatz.
Für Brownie-Punkte sollten Sie auch element.addEventListener überprüfen, um Ihren Elementen Ereignishandler zuzuweisen .
quelle
Wenn Sie das
javascript:
Präfix entfernen und die Teile für die unbekannten IDs wie'black_fade'
aus Ihrem Javascript-Code entfernen , sollte dies in Firefox funktionierenKurzes Beispiel:
quelle
Firebug
Plugin für Firefox? Dies wird Ihnen sehr helfenDas
onclick
Attribut einer Schaltfläche verwendet eine JavaScript-Zeichenfolge, keine von Ihnen angegebene href. Entfernen Sie einfach den Teil "Javascript:".quelle
Sei vorsichtig
span
!myspan.styles.width='100px'
will nicht arbeitenÄndern Sie die
span
zu adiv
.quelle
span
es sich standardmäßig um ein Inline-Element handelt und daher keine darauf festgelegten Größen eingehalten werden. Ändern seine CSSdisplay: block
,display: flex
oderdisplay: inline-block
bewirkt , dass es wie ein richtig nur arbeitendiv
(ein Block - Element Standard).styles.width
zustyle.width
. :)