Javascript 获取一个href值
我的网站上有多个弹出窗口。在每个弹出式悬停上都有一个颜色选择器。我通过如下方式查看图像的标题来选择图像:Javascript 获取一个href值,javascript,jquery,html,Javascript,Jquery,Html,我的网站上有多个弹出窗口。在每个弹出式悬停上都有一个颜色选择器。我通过如下方式查看图像的标题来选择图像: var kleur = jQuery(this).attr('title'); alert(jQuery('.photo').find('a').attr("href")); 但现在我想访问同一分区的a href。我尝试了以下代码: alert(jQuery('.photo').find('a').getAttribute("href")); 但我得到了以下错误: Uncaught T
var kleur = jQuery(this).attr('title');
alert(jQuery('.photo').find('a').attr("href"));
但现在我想访问同一分区的a href
。我尝试了以下代码:
alert(jQuery('.photo').find('a').getAttribute("href"));
但我得到了以下错误:
Uncaught TypeError: undefined is not a function
这是每个弹出窗口的HTML结构
<div class="popup" style="display: none;">
<div class="product">
<div class="photo">
<a href="" class="sendkleur" id="link69"> <!-- href im trying to reach -->
<img id="product-collection-image-69" src="" alt="Test kleur" class="popup-image69">
</a>
</div>
<a href="" class="sendkleur" id="link69">
<strong>Test kleur</strong>
</a>
<span class="swatchLabel-category">Kleur:</span>
<p class="float-clearer"></p>
<div class="swatch-category-container" style="clear:both;" id="ul-attribute137-69">
<img onclick="listSwitcher();" src="" id="a137-32" class="swatch-category" alt="Beige" width="12px" height="12px" title="Beige">
<img onclick="listSwitcher();" src="" id="a137-36" class="swatch-category" alt="Zwart" width="12px" height="12px" title="Zwart">
</div>
<p class="float-clearer"></p>
</div>
</div>
克莱尔:
以上是不正确的。您尝试在jQuery对象上使用DOM函数。要读取jQuery对象上的href
属性,请使用jQuery的attr
函数,如下所示:
var kleur = jQuery(this).attr('title');
alert(jQuery('.photo').find('a').attr("href"));
但是,如果您仍然希望使用不是jQuery函数的getatribute
,请执行以下操作:
alert(jQuery('.photo').find('a')[0].getAttribute("href"));
没有测试这个,但我不明白为什么它不适合你。希望有帮助。干杯 您正在混合DOM和jQuery函数
getAttribute
用于普通DOM。您可以通过执行以下操作从jQuery集中获取普通元素
alert(jQuery('.photo').find('a')[0].getAttribute("href"));
…或者,您可以使用jQuery的方法。;)
.getAttribute(“href”)
在JavaScript本身中可用,但在jQuery中不可用。向其中添加[0]
将选择DOM元素,然后运行getAttribute()
将选择与jQuery对象相关的DOM元素,然后获取属性。但是,使用jQuerys.attr()
可以直接在jQuery中选择它
因此,这两项工作:
// jQuery and pure JS
alert(jQuery('.photo').find('a')[0].getAttribute("href"));
// pure jQuery
alert(jQuery('.photo').find('a').attr("href"));
是
警报(jQuery('.photo').find('a')).
从代码直接复制/粘贴?如果是这样,您有一个尾随点,并且没有关闭警报括号。请尝试编辑您的问题,以包含更多的上下文行,并确保在该行引发异常。@Seventoes我复制了它,对我来说似乎没有问题,您不应该使用.attr(“href”)
?getAttribute
仅在纯Javascript的DOM元素上可用,而在JQuery上不可用objects@AlexK.K添加[0]解决了此问题