javascript - 使用 JS 从 <a> 链接获取 ID 或 VALUE 或 NAME

标签 javascript

我试图用js获取某些链接的值,但每次我收到警报:未定义

我尝试了很多东西,但没有任何东西对我有用:(也许你们中的一些人可以帮助我???

代码:

function protected_link() { 

    var pass1 = prompt("Wachtwoord!!!");
    var pass2 = "admin";
    var kerntaak = $(this).attr("id");

if (pass1 === pass2) {
    load('img/pdf/'+kerntaak+'.pdf')

    } else {
        load('index.php')
       }
}

这是一些<a>我的链接:

<a value="kerntaak1" onclick="protected_link();" class="btn btn-primary btn-lg flex-item page-scroll"" style="letter-spacing: 5px";>kerntaak 1</a>

最佳答案

您正在调用 protected_link(this.id); ,但没有上下文(这将是 foo.protected_link 或通过 .call() 提供.apply())。

所以在函数内部 this 将是 window

毫不奇怪,$(window).attr("id") 不会为您提供您想要的值。

您将 id 作为参数传递:

protected_link(this.id);
               ^^^^^^^

...所以使用它。

function protected_link(kerntaak) { 
    alert(kerntaak);

更正。您已编辑问题。您将其作为参数传递。然后你就把它删除了。取消删除它。把它放回去。

<小时/>

如果您正在编写现代 JavaScript,则不会使用内部事件属性,您可以这样做:

$("some selector that matches the elements you care about")
    .on("click", protected_link);

(我使用 jQuery 进行事件绑定(bind),因为您已经在使用它)

这将在元素的上下文中调用,并且 this 将是函数内的元素。

关于javascript - 使用 JS 从 <a> 链接获取 ID 或 VALUE 或 NAME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38064138/

相关文章:

javascript - ng-repeat(Angular)中的数字特定项目

javascript - scope.$apply 在 AngularJS 中是同步的吗?

javascript - Google map V3 标记未显示

javascript - 路由/重定向不在 React Router 4 和 Redux 授权中呈现

php - 我已将信息插入我的数据库中,并且我也已验证它。但如果我点击插入它会重定向到另一个页面

javascript - 无法使用 Babel 和 Webpack 在浏览器中加载 ReactJS 资源

javascript - 锁定浏览器

Javascript 数组到 bool 类型的强制转换没有意义

javascript - JavaScript 的递归 OR 是如何工作的?

javascript - 如何使用 Jquery 控制下拉选择选项菜单