5

我正在尝试从选定的列表项中获取图像的 src。HTML 如下所示:

<li id="player_7">
  <div class="nailthumb-container square-thumb">
    <img src="../photos/files/7/thumb/6c0f1676cdcb1a9a5215db3e12572450.jpeg" />
  </div>
</li>

我目前可以从选定的列表元素中获取玩家 ID,如下所示:

jQuery

$('#myDiv').find("li").click(function() {
    var user_id = $(this).attr('id').substr(7);
});

如何从选定的列表元素中获取 img src?

4

3 回答 3

8

如果user_id对应玩家ID中的数字,则尝试:

var src = $("#player_" + user_id + " img").prop("src");

否则,分别到被点击的列表项:

$("#myDiv").find("li").click(function() {
    var src = $("img", this).prop("src");
});
于 2012-10-19T18:37:06.770 回答
2

使用 jQuery 获取图像元素,然后读取其 src 属性。

$('#myDiv').find("li").click(function() {
    var user_id = $(this).attr('id').substr(7);
   var src = $("img", this)[0].src;
});
于 2012-10-19T18:37:15.917 回答
1

我可以问你为什么在应该做的$("#myDiv").find("li")时候"$("#myDiv li")做就好了吗?然后,在这一点上,以下内容就足够了:

$('#myDiv li").click(function() {
    var user_id = $(this).attr('id').substr(7);
    var src = $("img",this).attr('src');
    // ...
});

就个人而言,我更喜欢在 ID 上使用拆分来获取 user_id,(.attr('id').split('_')[1]),但是如果您需要更改前缀或命名约定,则必须以任何一种方式修改您的代码,我不认为那真的很重要。它可能会影响性能(因为 split 似乎总是更快,虽然我不记得为什么),如果你有很多这些要一次解析,但否则,对于一对一的操作, substr 应该工作正好。

于 2012-10-19T18:58:19.177 回答