Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取一个href值_Javascript_Jquery_Html - Fatal编程技术网

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]解决了此问题