javascript - 如何使用 JQuery 更改图像的“src”(具有多个 ID)
问题描述
我一直在尝试使用更改src
图像的属性jquery
此图像标签有多个 ID blah1
,即one
我需要这两个 ID 用于不同的目的。因此,在不更改或删除 ID 的情况下,我该如何实现呢?
我试过了,但没有用。
这是我的HTML
<div class="col-md-3 col-sm-6 col-6 ad-image">
<label for="file1">
<img id="blah1 one" src="http://placehold.it/500" alt="..." class="img-thumbnail">
<input type="button" value="Remove Photo" style="margin-top: 5px;" class="btn btn-danger btn-sm" id="image-remove-btn-1">
<small id="textCount" class="form-text text-center bold">Thumbnail</small>
</label>
</div>
这是我的jquery
<script type="text/javascript">
function showImages() {
$("#one").attr("src", "http://placehold.it/200");
// $(':input').css('border', '1px solid red');
}
</script>
但它不起作用。它只适用于一个 ID,但我实际上是 2 个 ID,如上所述。
解决方案
您可以选择具有多个 ID 的元素,但它充满了问题并且容易损坏。这也是非常糟糕的做法,因为它违反了明确定义和预期的标准。
但是,这将选择您描述中给出的元素,但前提是 ID 与您发布的完全相同。如果交换了 2 个 ID 值,那么这将停止工作。
$("[id='blah1 one']").attr("src", "http://placehold.it/200");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<img id="blah1 one" />
该行 JS 将返回任何具有 value 的 ID 属性的元素blah1 one
。如果超过 1 个,那么它将全部选择并修改它们。知道如何按属性值进行选择有时很方便,但这是一个不好的例子。
实际上,您应该解决实际问题,即一个元素有 2 个 ID 值。今天解决这个问题并不意味着它明天仍然有效。
注意:正如 Taplar 在评论中指出的那样,以下将达到相同的结果,并且会解释 ID 的变化,但仍包含不同的值“one”......
$("[id~='one']")
这要可靠得多,但是我仍然说应该解决实际问题,因为如果您现在做一些根本不正确的事情,则无法知道将来会发生什么。
推荐阅读
- ios - 将视图控制器关闭到前一个视图控制器
- java - 片段交易在下面显示标签片段
- ajax - 如何使用 Ajax 加载 Fancybox 的字幕内容?
- java - 如何额外投射传递的分层 URI?
- opentok - OpenTok:是否可以从广播电视频道发布流?
- javascript - Javascript / Angular httpClient 从 url 获取数据并传递外部方法
- apache-nifi - NiFi 1.5.0 : GenerateTableFetch 订单结果
- c# - .NET Core 项目中的 System.Automation.Runspaces 错误
- mysql - 在 Django 中使用 GROUP_CONCAT 和其他注释
- javascript - 计算数组中的组合产品