jQuery 选择器的奇怪问题

标签 jquery jquery-selectors

我有一个包含以下字符串的变量:

var html = '<a href="http://www.taxibooking.dch/wp-content/uploads/2012/12/4-3.jpg"><img src="http://www.taxibooking.dch/wp-content/uploads/2012/12/4-3-300x202.jpg" alt="" title="4 (3)" width="300" height="202" class="alignnone size-medium wp-image-7" /></a>';

然后我尝试使用以下两个操作:

full_url = jQuery('a', html).attr('href');
tiny_url = jQuery('img', html).attr('src');

虽然tiny_url工作正常并返回值http://www.taxibooking.dch/wp-content/uploads/2012/12/4-3-300x202.jpg full_url 始终为空。

谁能告诉我这是为什么?

最佳答案

这是因为 a 元素不在您传递的 html内部,而是位于第一级。

你可以这样做:

full_url = jQuery('a', '<div>'+html+'</div>').attr('href');

但是定义和重用 jQuery 对象会更有效:

var $div = $('<div>'+html+'</div>');
full_url = jQuery('a', $div).attr('href');
tiny_url = jQuery('img', $div).attr('src');

关于jQuery 选择器的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13761773/

相关文章:

javascript - Bootstrap 模式是否显示取决于 bootstrap 版本

php - 在Elastic Search中按定义的类型排序

jquery - 偏移顶部在 jquery2 和 jquery3 中表现得很奇怪

javascript - 相当于jQuery的JS实现——div选择

javascript - 如何通过 jQuery 选择器使用 DOM 元素的 Id 或 Class 的一部分?

javascript - 根据文本选择元素

jQuery - 多个相同 IF 条件的简写并同时匹配多个元素?

javascript - 使用带有变量的 jquery 计算直接子元素

javascript - 如何将底部的灯光画廊缩略图移动到顶部?

jquery - Jquery中的动态变量,选择ID与实际元素值相同的元素