0

如何从 JS 文件中获取 titleText "Some Name" 中的变量以填充或从 HTML 代码中的超链接 "sometitle" 中获取标题?

JS

var randomtext={ titleText:"Some Name",}

HTML

<a class="css" title="sometitle" href="#">Your HTML Here</a>

我希望 JS 然后更改为:

JS

var randomtext={ titleText:"sometitle",}

Titletext 名称来自超链接锚中的标题

我尝试了以下但没有用

JS

    var randomtext={ 
titleText:document.getElementsByClassName('css')[0]; randomtext.titleText = anchor.getAttribute('title');,
title2: "name1",
title3: "name3",
title4: "name4",

}
4

2 回答 2

1

首先,您需要以<a>某种方式识别元素。最简单的方法是给它一个ID。

然后,使用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's title
link.setAttribute("title", randomText.titleText);

我希望这是你所要求的,因为老实说,我不确定你想说什么。

于 2013-09-19T14:03:06.760 回答
1

这假设您想要获取锚点上的“title”属性,并使用它来设置对象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');

jsFiddle

更新

我不确定您为什么要在对象定义中包含所有逻辑,但是您当前的 javascript 无效。如果您在创建 randomText 对象时绝对必须为 titleText 属性分配一个值,则以下内容应该有效:

   var randomtext={ 
     // this immediately invokes a function 
     // which looks for the first anchor
     // and returns it's 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",
}
于 2013-09-19T14:04:44.753 回答