我处于这样一种情况:我无法使用jquery在DOM中选择一个元素,并试图弄清楚如何使用Javascript来完成它。
jquery路径为sequelize model:create --name Task --attributes title:string,content:string
我试图访问href并在新标签中打开它。
我找到了这个 - http://javascript.info/tutorial/searching-elements-dom并尝试了
"use strict";
module.exports = function(sequelize, DataTypes) {
var User = sequelize.define("User", {
username: DataTypes.STRING
}, {
classMethods: {
associate: function(models) {
// create one to many relationship
User.hasMany(models.Task);
}
}
});
return User;
};
但我收到了错误:
$('.link-linkedin a').attr('href');
有更好的方法吗?
答案 0 :(得分:3)
// where `linkIndex` , `aIndex` are index of each respective element
// to be selected from collections returned by `.getElementsByClassName` ,
// `.getElementsByTagName`
var linkIndex = 0, aIndex = 1;
var elem = document.getElementsByClassName('link-linkedin')[linkIndex];
var list = elem.getElementsByTagName('a')[aIndex];
var href = list.href;
答案 1 :(得分:1)
你不需要javascript。只需将target="_blank"
添加到您的锚元素即可。
这样的事情:
<a href="whatever" target="_blank">whatever</a>
单击它时,将在新选项卡上打开链接。
答案 2 :(得分:0)
我将继续把它作为答案。首先,目前还不清楚你要做什么,但有些事情会对你的代码有所帮助。
在每条指令的末尾放置分号。
不要调用变量“list” - 列表 - 使用更好的命名,并避免使用可用作保留字的单词。
如果您尝试引用DOM中的元素,请为其指定一个ID,然后使用document.getElementById来获取它。
<a href="~/Customers.html" id="LinkToCustomers" target="_blank">Customers</a>
并在您的javascript中引用它:
var ListOfCustomers = document.getElementById("LinkToCustomers");
window.open(ListOfCustomers.getAttribute("href"));