20

I know there are a lot of posts about this, but I can't find an answer to my specific problem.

I would like to make a JS variable the value of an HTML attribute:

<script> var screenWidth = screen.width </script> 

<img src="images/title.png" width="VARIABLE HERE" style="margin-top: 3%"`

"VARIABLE HERE" is where I would want the screenWidth variable to go. What is the best of going about this?

5 Answers 5

18

This should work:

<script>var screenWidth = screen.width;</script> 
...
<img src="images/title.png" onload="this.width=screenWidth;" style="margin-top: 3%">
Sign up to request clarification or add additional context in comments.

1 Comment

Isn't there missing something? w3schools.com/jsref/prop_style_width.asp
5

Give the tag an id.

i.e. <img id="xxxx" ...>

Then use

 document.getElementById('xxx').setAttribute('width', 'somevalue')

See setAttribute

Or use JQuery as the other poster noted

Comments

4

You can add the style using javascript to particular element like this.

script

document.getElementById('myImg').style.width = screen.width + "px";

Html

<img id="myImg" src="images/title.png"  style="margin-top: 3%">

Here is a demo

Comments

1

You can't simply call a JavaScript variable inside your HTML. You'll need to have it written by JavaScript or JQuery. You can do it this way :-

 <input id="myInput" .../>
 <script>
    var myVar = "value";
    $("#myInput").attr("name", myVar);
 </script>

Comments

0

In this case, you could set the width to either 100vw using CSS (possibly via the style attribute: style="width: 100vw;". This is more efficient and more readable, but isn't supported in some old browsers.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.