Javascript:在单击事件时获取数据属性

Javascript:在单击事件时获取数据属性,javascript,jquery,html,Javascript,Jquery,Html,我试图在点击事件时提醒数据属性值,如下所示 <div class="col-md-2 col-xs-2" onclick="changeImage(event)"> <img src="img/img1.jpg" data-attr="img1.jpg"> <img src="img/img2.jpg" data-attr="img2.jpg"> </div> <script type="text/javascript"

我试图在点击事件时提醒
数据属性
值,如下所示

<div class="col-md-2 col-xs-2" onclick="changeImage(event)">
    <img src="img/img1.jpg" data-attr="img1.jpg">
    <img src="img/img2.jpg"  data-attr="img2.jpg">
</div> 

<script type="text/javascript">
        function changeImage(event){
                    var target= event.target;                    
                    alert(target.data-attr);
        }
</script>

函数更改图像(事件){
var target=event.target;
警报(目标数据属性);
}
这里,如果我的目标是图像的src,该图像将发出警报,但
数据属性
不会,我如何才能做到这一点,请使用
getAttribute()

使用
getAttribute()


使用
ELEMENT.getAttribute(“属性”)
获取元素上的任何属性:

对于
数据-
属性,您还可以使用
元素.dataset.Attribute


函数更改图像(事件){
var target=event.target;
警报(target.getAttribute(“数据属性”));
警报(target.dataset.attr);
}

使用
ELEMENT.getAttribute(“属性”)
获取元素上的任何属性:

对于
数据-
属性,您还可以使用
元素.dataset.Attribute


函数更改图像(事件){
var target=event.target;
警报(target.getAttribute(“数据属性”));
警报(target.dataset.attr);
}

尝试使用
getAttribute()
函数。下面的代码部门是相同的

函数更改图像(事件){
var target=event.target;
log(target.getAttribute(“数据属性”));
}

尝试使用
getAttribute()
函数。下面的代码部门是相同的

函数更改图像(事件){
var target=event.target;
log(target.getAttribute(“数据属性”));
}

您应该使用
数据集
属性来检索
数据-*
属性:

function changeImage(event) {
    var target = event.target;
    alert(target.dataset.attr);
}

另外,当您使用jQuery标记这个问题时,下面是一个没有丑陋的
onclick
属性的jQuery实现:

<div class="col-md-2 col-xs-2">
    <img src="img/img1.jpg" data-attr="img1.jpg">
    <img src="img/img2.jpg" data-attr="img2.jpg">
</div>

您应该使用
数据集
属性来检索
数据-*
属性:

function changeImage(event) {
    var target = event.target;
    alert(target.dataset.attr);
}

另外,当您使用jQuery标记这个问题时,下面是一个没有丑陋的
onclick
属性的jQuery实现:

<div class="col-md-2 col-xs-2">
    <img src="img/img1.jpg" data-attr="img1.jpg">
    <img src="img/img2.jpg" data-attr="img2.jpg">
</div>

要将该属性作为src分配给我正在使用的图像,这是一个好的文档。getElementById(“mainimg”).src='images/'.target.getAttribute('data-attr')不,不要使用
getAttribute
读取
数据
属性,因为它会向DOM发出另一个无意义的请求。使用
dataset.attr
,正如我在回答中提到的。另外,
+
是JS中的连接字符。使用以下命令:
document.getElementById(“mainimg”).src='images/'+target.dataset.attr,或jQuery:
$('mainimg').prop('src',$(this.data('attr'))
要将该属性作为src分配给我正在使用的图像,这是一个好的document.getElementById(“mainimg”).src='images/'.target.getAttribute('data-attr')不,不要使用
getAttribute
读取
数据
属性,因为它会向DOM发出另一个无意义的请求。使用
dataset.attr
,正如我在回答中提到的。另外,
+
是JS中的连接字符。使用以下命令:
document.getElementById(“mainimg”).src='images/'+target.dataset.attr,或jQuery:
$('mainimg').prop('src',$(this.data('attr'))