【问题标题】:fetch value img src jquery获取值img src jquery
【发布时间】:2016-03-21 16:27:07
【问题描述】:

通过以下结构获取 img src 值的正确方法是什么。下面的代码返回空。

JS bin(点击笑脸):https://jsbin.com/lelaxam/edit?html,js,output

注意:当我删除图像周围的 A HREF 标签时,我会收到图像 src,如果我将 A HREF 标签放在 IMG 周围,我不会收到 IMG SRC

HTML:

<td class="sim-row-edit" data-type="testtest" style="padding-right:10px">
<a href="http://crezzur.com" target="_blank">
<img src="https://img.smileys.nl/152/winky.png" alt="" border="0" width="42" height="42" />
</a>
</td>

查询:

if (big_parent.attr("data-type") == 'testtest') {
$("#sim-edit-testtest .image").val(big_parent.children('img').attr("src"));
$("#sim-edit-testtest .url").val(big_parent.children('a').attr("href"));

【问题讨论】:

  • 没有一个选择器真正匹配任何东西,你不能有一个 ID 为 &lt;img id="sim-edit-testtest .image" src=... 等的元素
  • Indead like@adeneo 说,当您查看我的 jsbin 时,您会注意到 a href 版本有效,img 部分由于某种原因而失败。我已经搜索并注意到您需要使用 find 来查找子元素,但对我来说没有成功。
  • @ZakariaAcharki - 编辑了 bin,我直接从 bin 中复制/粘贴了 HTML,然后是&lt;img id="sim-edit-testtest .image" src=...,其中 ID 实际上有句点等。

标签: javascript jquery html


【解决方案1】:

您应该使用jQuery.data 来获取data- 属性的值,而不是jQuery.attr

一旦你成功选择了你的图片,你就可以像上面一样使用.attr('src')

您的代码有问题,您正试图错误地获取图像。您的 HTML 代码显示:

<img id="sim-edit-testtest .image" src="https://img.smileys.nl/152/winky.png" alt="" border="0" width="42" height="42" />

所以$('#sim-edit-testtest .image').find('img') 很离谱。选择器中的#sim-edit-testtest.image 之间不应有空格,因为它不是子元素,它是一个具有both id 的元素,并且没有子img 元素,它已经 img 元素。请改用下面的代码。

if ( big_parent.data('type') == 'testtest' ) {
  $('#sim-edit-testtest.image').attr('src');
}

说实话,在选择器中包含 .image 也有点没有实际意义,因为 ID 在页面中应该已经是唯一的,因此可以进一步简化为:

if ( big_parent.data('type') == 'testtest' ) {
  $('#sim-edit-testtest').attr('src');
}

【讨论】:

  • 我已经尝试过,并且仍在尝试您的代码,但我的 jsbin 代码并没有真正得到任何结果。
  • 我认为您通过测试该代码正在打一场失败的战斗。尝试减少您在 JSBin 实验中尝试测试的内容(或改用 JSFiddle),一旦您解决了问题,您总是可以再次建立复杂性。同时缩进你的代码!它有助于可视化您正在使用的 DOM 树。
  • 我刚刚让它在jsbin.com/lelaxam/edit?html,js,output 上工作,但只有当我删除 A 标签时,当我删除它们时它会显示图像 src,如果我添加它只会显示 href url
【解决方案2】:

你必须像这样使用它:

$('#sim-edit-testtest img').attr('src');

【讨论】:

    【解决方案3】:

    此代码抓取并显示 IMG SRC 和 A HREF,如您在此示例中所见: https://jsbin.com/lelaxam/edit?html,js,output

    这里唯一的问题是如果找到它会抓取第一个 img src,我如何选择我按下的 img src?

    $("#sim-edit-testtest .image").val($('img', 'a').attr("src"));
    $("#sim-edit-testtest .url").val(big_parent.children('a').attr("href"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-13
      • 1970-01-01
      • 2013-12-17
      • 1970-01-01
      • 2016-04-09
      • 2010-12-22
      • 1970-01-01
      相关资源
      最近更新 更多