我试图在用户点击它时从html按钮获取src值。
<button type="button" value="95" id="load" onclick="functionName(this.src,this.value);">
<img src="https://www.drupal.org/files/druplicon-small.png">
<span>Welcome</span>
</button>
成功从this.value
获取价值但this.src
没有给出任何价值。
答案 0 :(得分:1)
this
指的是没有src
属性的按钮。按钮内的图像具有src
属性。
您可以使用this
或src
button.children[0].src
传递给您的函数并访问该图片的button.getElementsByTagName('img')[0].src
function functionName(button, value) {
let src1 = button.children[0].src;
let src2 = button.getElementsByTagName('img')[0].src;
console.log(src1, src2, value);
}
<button type="button" value="95" id="load" onclick="functionName(this,this.value);">
<img src="https://www.drupal.org/files/druplicon-small.png">
<span>Welcome</span>
</button>
答案 1 :(得分:1)
通常情况下,当您将此传递给该功能时,此是您的按钮,或者在您的情况下,this.value是您的属性值按钮和this.src你的按钮属性src的值,你没有按钮src属性
你能做什么?:
是这样的:
function functionName(button) {
var buttonValue = button.value;
var imageSrc = button.getElementsByTagName('img')[0].getAttribute('src');
}
<button type="button" value="95" id="load" onclick="functionName(this);">
<img src="https://www.drupal.org/files/druplicon-small.png">
<span>Welcome</span>
</button>
答案 2 :(得分:0)
如何使用querySelector
定位图像源
示例:强>
function functionName(button) {
var src = button.querySelector("img").src;
console.log(src);
}
<button type="button" value="95" id="load" onclick="functionName(this);">
<img src="https://www.drupal.org/files/druplicon-small.png">
<span>Welcome</span>
</button>
答案 3 :(得分:0)
传递背景this
&amp;使用children
方法。该按钮没有src
属性,属于img
标记,因此children
会给出一系列子项。
function functionName(elem) {
//elem will be button itself
var _childImg = elem.children[0].src
console.log(_childImg, elem.value)
}
<button type="button" value="95" id="load" onclick="functionName(this);">
<img src="https://www.drupal.org/files/druplicon-small.png">
<span>Welcome</span>
</button>