attr() 使用 jQuery 显示未定义

attr() showing undefined using jQuery

DOM是这样的:

<h3 class="iw"><span email="noreply@updates.com" name="test.com" class="gD">test.com</span></h3>

现在想获取span的email属性

我尝试在控制台日志中进行跟踪。

console.log($(".iw span:first-child"));

我在控制台上得到了完整的内部 span 元素及其未定义的另一行。

现在,如果我尝试按照控制台日志进行操作,

console.log($(".iw span:first-child").attr("email"));

它开始给我这个错误:

Uncaught TypeError: $(...).attr is not a function(…)

对于我之后可能使用的任何 jQuery 方法,它都会给出相同的错误。

图片 -

我该如何解决这个问题?

这完全没问题,您只需要确保在尝试 console.log email 属性之前包含 jQuery 库。

将此放在 HTML 的 <head> 中:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>

那么调用 console.log($(".iw span:first-child").attr("email")); 将 return 'noreply@updates.com'.

浏览器控制台带有一个函数 $,它的作用类似于 jQuery,但不是。所述功能 仅在浏览器控制台上可用,不可用于页面中包含的脚本

就像 aphextwix 在他的回答中所说的那样,如果您在页面中包含 jQuery 应该没问题,例如:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>

如果您完全确定您包含 jQuery 但 仍然 无法在控制台中使用 $() 进行调试,请尝试使用 jQuery() 像这样:

console.log(jQuery(".iw span:first-child").attr("email"));