Чтобы получить:
Первая кнопка должна проверить, существует ли атрибут в диапазоне.
Вторая кнопка должна вывести значение атрибута.
Вы можете сделать что-то вроде приведенного ниже фрагмента, в частности myFunction()
должен проверить, существует ли x
, если да, имеет ли он getAttribute("alternative")
? Если да, то это exists
, иначе это doesn't exist
.
function myFunction() {
var x = document
.getElementById("foo")
.getElementsByTagName("anothertag")[0];
let exists =
x && x.getAttribute("alternative") ? `exists` : `doesn't exist`;
console.log(exists);
document.getElementById(
"demo"
).innerHTML = `attribute "alternative" ${exists}`;
}
function mysecondFunction() {
var y = document
.getElementById("anotherfoo")
.getElementsByTagName("anothertag")[0]
.getAttribute("alternative");
console.log(y);
document.getElementById("anotherdemo").innerHTML = y;
}
<span id="foo">The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.</span>
<p></p>
<span id="anotherfoo">The quick brown fox jumps over the lazy dog. The quick <baz><anothertag alternative="yellow">brown</anothertag> fox jumps over</baz> the lazy dog.</span>
<p></p>
<button onclick="myFunction()">Try it</button>
<button onclick="mysecondFunction()">Have a try with the second span</button>
<p id="demo"></p>
<p id="anotherdemo"></p>
Возможно, вы захотите сделать приведенный выше код более пуленепробиваемым, среди прочего, сначала проверив, существует ли getElementById("foo")
, и только потом проверите, есть ли getElementsByTagName("anothertag")
.