Как получить переменную в titleText "Some Name" из JS файла, чтобы заполнить или взять заголовок из гиперссылки "sometitle" в HTML-коде?
JS
var randomtext={ titleText:"Some Name",}
HTML
<a class="css" title="sometitle" href="#">Your HTML Here</a>
Я бы хотел, чтобы JS изменилась на:
JS
var randomtext={ titleText:"sometitle",}
Имя заголовка, исходящее из заголовка в якоре гиперссылки
Я попробовал следующее, и это не сработало
JS
var randomtext={
titleText:document.getElementsByClassName('css')[0]; randomtext.titleText = anchor.getAttribute('title');,
title2: "name1",
title3: "name3",
title4: "name4",
}
Во-первых, вам нужно как-то идентифицировать элемент <a>
. Самый простой способ - дать ему идентификатор.
Затем, используя document.getElementById
, вы можете получить доступ к гиперссылке внутри вашего скрипта. После этого вы можете получить доступ к своему названию с помощью setAttribute
и getAttribute
.
HTML
<a id="myLink" class="css" title="sometitle" href="#">Your HTML Here</a>
JavaScript
var link = document.getElementById("myLink");
// Take the title from the link
var randomText = { titleText: link.getAttribute("title") };
// Change the link title
link.setAttribute("title", randomText.titleText);
Надеюсь, это то, о чем вы просили, потому что, если честно, я не совсем уверен, что вы хотели сказать.
Это предполагает, что вы хотите получить "название" атрибут на якорь, и использовать его, чтобы установить значение titleText
собственности на вашем randomtext
объекта:
JS
var randomtext={ titleText:"Some Name"}
// a more specific class name or id would be better suited here
var anchor = document.getElementsByClassName('css')[0];
randomtext.titleText = anchor.getAttribute('title');
Обновить
Я не уверен, почему вы хотите включить всю логику в определение объекта, но ваш текущий javascript недействителен. Если вы абсолютно должны назначить значение свойству titleText при создании объекта randomText, должно работать следующее:
var randomtext={
// this immediately invokes a function
// which looks for the first anchor
// and returns it title attribute
// that attribute is then assigned to the titleText property
// on the object.
titleText:(function () {
var anchor = document.getElementsByClassName('css')[0];
return anchor.getAttribute('title');
})(),
title2: "name1",
title3: "name3",
title4: "name4",
}