【发布时间】:2017-05-14 22:17:10
【问题描述】:
我有一个 jQuery 脚本,一旦单击页面上的 img,它就会尝试修改模式窗口中元素的 src。它会抓取被点击的img 中的src,并尝试将src 复制到模式弹出窗口中的元素中。
我在脚本中测试了alert(source);,只是为了看看它是否正常工作。正如预期的那样,这会提醒用户正确的src。不幸的是,根据 Chrome 浏览器中的“元素”视图,之后没有将 src 赋予元素。
我正在尝试将src 赋予<modal> 标签内的元素。
<div id="screenings">
<?php
...
//database connection
...
while ($row = mysqli_fetch_array($result)){
echo "<div class='img_div'>";
echo "<img id='unique' class='modal_img img_screenings' ng-click=\"vm.openModal('custom-modal-1')\" src='images/".$row['image']."' >";
...
echo "</div>";
}
?>
</div>
<modal id="custom-modal-1">
<div class="modal">
<div class="modal-body">
<img id="popup_img" src="#">
</div>
</div>
<div class="modal-background"></div>
</modal>
<script>
$(".img_div").on("click", function() {
var source = $(this).find('img').attr('src');
alert(source);
$('#popup_img').prop('src', this.src);
});
</script>
还值得注意的是,其他地方还有其他代码正在修改<modal> 元素。包含在 Angular 指令文件中,有这个,它采用模态并将其放在 </body> 标记的末尾:
function Directive(ModalService) {
...
// move element to bottom of page (just before </body>) so it can be displayed above everything else
element.appendTo('body');
...
});
这会对模态中未收到src的元素产生影响吗?
【问题讨论】:
-
你试过
$('#popup_img').attr('src', this.src);吗? -
结果似乎相同 - 单击后
<img id="popup_img" src="#">中的src显示不变。 -
$('#popup_img').attr('src', source);
-
@NanheKumar 啊,做到了。谢谢!
-
注意
prop与src属性的结合。如果src为空,它将返回您的页面 URL。
标签: javascript jquery append src modal-window