Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
137 views
in Technique[技术] by (71.8m points)

html - Setting CSS styling based on value in JavaScript

I am trying to set the CSS style based on a value for the HTML element, how would i do?

.JSP file:

   <div style="margin-left:-14%;margin-top:-2.4%" >
       **<bean:write name="messageFormBean" property="messageVO.messageFormat"/>**
   </div>
                

For now I have set the styling to margin-left: -14%;, but if the value for the highlighted statement (bold) is "A", then the style should be margin-left:-14%;, if it is "B" then it should be margin-left:-3%;.

How would I use conditional operator and set the styling accordingly?

question from:https://stackoverflow.com/questions/65935264/setting-css-styling-based-on-value-in-javascript

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Instead of using JS you could add a data attribute on the div element with the value you also print inside, e.g.

<div data-letter="<bean:write ... />"> <!-- or whatever it takes to print the same value here -->
   <bean:write name="messageFormBean" property="messageVO.messageFormat"/>
</div>

and use all the necessary CSS attribute selectors to set all the properties you need

[data-letter="A"] { margin: -2.4% 0 0 -14% }
[data-letter="B"] { margin: -2.4% 0 0 -3% }
...

[data-letter="Z"] { margin: ... }

Benefit of this approach: no unnecessary use of JS, no CSS-in-JS and no inline style.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...