JavaScript 无法使用 attr 更改图像

标签 javascript jquery html

我的 html 代码是单击“下一步”并更改图表。 我已将 1.jpg、2.jpg、3.jpg 和 html 文件放入同一个文件中。

我的问题是我想通过代码 $("#page1").attr("src", fname); 更改我的图表.

但它根本做不到。它始终显示 1.jpg。


<script>
var order = new Array('1.jpg', '2.jpg', '3.jpg');
var trial = 0; //current trial
document.write("STRING:");
$(document).ready(function(){
 ShowImage(trial);
});

function ShowImage(t) {
 $("#page1").show();
 var N = t+1; //counting from 1
 $(".progress").text('('+N+'/'+order.length+')');
}

function NextImage() {
 current = current + 1;
 $("#page1").hide();
 var fname=order[current];
 $("#page1").attr("src", fname);
 });
 ShowImage(current);
}

</script>

<style> .page {display: none;} </style> 

<div class="page" id="page1">
<img src=1.jpg><br>
<input type=radio name=f1 value=T> T
<input type=radio name=f1 value=F> F <br>
<a href="javascript:NextTrial()">Next</a> 
<span class="progress"></span>
</div>

<div class="page" id="page2">
<h3>All done!</h3>
</div>```

最佳答案

你要改变src<img>标签,所以你应该得到 <img>标签。
在你的html <img>标签位于 <div id="page1">所以你应该使用find关键字获取<img>标记,然后更改 src其中。

function NextImage() {
 current = current + 1;
 $("#page1").hide();
 var fname=order[current];
 $("#page1").find('img').attr("src", fname);   //this line should find the img tag and then change the src attr
 });
 ShowImage(current);
}

关于JavaScript 无法使用 attr 更改图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61288905/

相关文章:

javascript - 获取最小化 Chrome 窗口的顶部和左侧 (x, y) 坐标 (JS)

javascript - JQuery 动画导航

javascript - jQuery:从上到下切换 ('slow' ) 动画?

javascript - 使用属性 "title"将 html 元素链接到 jQuery.click()

css - IE 不设置 HTML5 标签的样式(使用 shiv)

javascript - 在 javascript 中查找所有没有 data- 属性的元素

javascript - 了解 AngularJS Controller 中的依赖注入(inject)

javascript - 水平自动滚动到事件缩略图 li

javascript - Highcharts 多线图不显示多线的工具提示

javascript - jQuery block 文本分页