jQuery - 获取Alt文本并添加到警报

时间:2014-04-03 16:16:14

标签: javascript jquery

jQuery和Javascript的新手,所以如果这是一个愚蠢的问题我很抱歉。我不太确定我需要搜索什么。

我尝试做的是找到一个空的href,然后点击返回一个警告,其中包含" Missing Link for + Alt Text"

我已经尝试了一些事情,所有结果都不是我所需要的。我最接近的是在点击一个空的href之后一个接一个地返回所有alt文本。

这是我目前拥有的代码:

    var altText = $(this).find('#main a').attr('alt');

    $('#main a[href=""]').click(function(x){
        alert("Missing Link For " + altText);
        x.preventDefault();
     });

我也在这里摆弄它:http://jsfiddle.net/M3tEg/

任何帮助都会很棒!我觉得我很亲近,但只是错过了一些愚蠢的东西! (情况可能并非如此,我现在甚至都不是新手!)

万分感谢! :)

5 个答案:

答案 0 :(得分:4)

您不需要find(),因为您已经点击了a本身!并在altText内初始化变量click(),以便获取当前/点击的属性。

就这样做

altText = $(this).attr('alt');

    var altText;
    $('#main a[href=""]').click(function(x){
        altText = $(this).attr('alt');
        alert("Missing Link For " + altText);
        x.preventDefault();
    });

Fiddle

答案 1 :(得分:1)

改用它!

$('#main a[href=""]').click(function(x){
    alert("Missing Link For " + $(this).attr('alt'));
    x.preventDefault();
});

Here's the fiddle

答案 2 :(得分:0)

关注允许的属性。锚(< a>)没有“alt”属性。只有“头衔”。 你可以获得标题作为你锚的属性。像这样:

$('#main a[href=""]').click(function(x){
    alert("Missing Link For " + this.title);
    x.preventDefault();
 });

但如果您仍想使用alt作为锚点,请将“this.title”替换为“this.getAttribute('alt')”。 哦,并尝试使用更少的jQuery和更多的本机js

答案 3 :(得分:0)

$('#main a[href=""]').click(function(x){
    alert("Missing Link For " + $(this).attr('alt'));
    x.preventDefault();
});

答案 4 :(得分:0)

你可以用这个:

this.getAttribute('alt')

FIDDLE