After reading here I couldn't find any explanation why this not works. Suppose I got this HTML:
<p lang="xx">bla bla bla bla</p>
<p lang="xy">yada yada yada</p>
<p lang="xx">bla bla bla bla</p>
<p lang="xy">yada yada yada</p>
<p lang="xx">bla bla bla bla</p>
<p lang="xy">yada yada yada</p>
<p lang="xx">bla bla bla bla</p>
<p lang="xy">yada yada yada</p>
I'm trying to toggle between languages attributes. I thought doing something like that:
<label for="language">Language:</label>
<input type="radio" name="language" value="xy" oninput="changeLanguage(this.value);" checked /> xy
<input type="radio" name="language" value="xx" oninput="changeLanguage(this.value);" /> xx
Hiding one of the languages with CSS:
<style>
[lang=xx] { display: none;}
</style>
And do the toggling with that JS:
<script>
var language = document.getElementsByName('language');
function changeLanguage(val) {
language.value = val;
if (val = "xx") {
document.write (
"<style>" +
"[lang=xx] {display: block;}" +
"[lang=xy] {display: none;}" +
"</style>");
}
if (val = "xy") {
document.write (
"<style>" +
"[lang=xy] {display: block;}" +
"[lang=xx] {display: none;}" +
"</style>");
}
}
</script>
It doesn't work: clicking the radio button just empty's the screen. What am I missing here?