Javascript jQuery-$(';this';),循环还是数组?

Javascript jQuery-$(';this';),循环还是数组?,javascript,jquery,Javascript,Jquery,我有一个片段,我正试图与之合作;我有一些产品,我正在获取源代码,在“?”处将其拆分,并将其放入数组中,然后用新链接替换“img.item img”src 但是,我并没有使用循环或$('this')来唯一地标识它们。例如,如果我有三个项,它们都得到第一个的src代码 <script> $( document ).ready(function() { $( "img.item-img" ).each(function() { str = $("img.item-img").at

我有一个片段,我正试图与之合作;我有一些产品,我正在获取源代码,在“?”处将其拆分,并将其放入数组中,然后用新链接替换“img.item img”src

但是,我并没有使用循环或$('this')来唯一地标识它们。例如,如果我有三个项,它们都得到第一个的src代码

<script>
$( document ).ready(function() {
  $( "img.item-img" ).each(function() {
   str = $("img.item-img").attr('src');


  arr = str.split("?");
  var new_link = arr[0];

  $("img.item-img").attr('src', new_link);
    });
</script>

$(文档).ready(函数(){
$(“img.item img”)。每个(函数(){
str=$(“img.item img”).attr('src');
arr=str.split(“?”);
var new_link=arr[0];
$(“img.item img”).attr('src',新链接);
});

正确识别后,需要使用
this
关键字作为
$()
函数的单个参数:

$('img.item-img').each(function() {
    var str      = $(this).attr('src'),
        arr      = str.split("?");

    $(this).attr('src', arr[0]);
});
$('img.item-img').attr('src', function() {  
    var arr = $(this).attr('src').split('?');
    return arr[0];
});

或者,您可以在
attr()
函数中使用匿名函数调用:

$('img.item-img').each(function() {
    var str      = $(this).attr('src'),
        arr      = str.split("?");

    $(this).attr('src', arr[0]);
});
$('img.item-img').attr('src', function() {  
    var arr = $(this).attr('src').split('?');
    return arr[0];
});

(关于匿名函数返回)

在每个回调函数中,需要使用$(this)来引用当前循环的元素

<script>
$( document ).ready(function() {
  $( "img.item-img" ).each(function() {
   str = $(this).attr('src');


  arr = str.split("?");
  var new_link = arr[0];

  $(this).attr('src', new_link);
    });
</script>

$(文档).ready(函数(){
$(“img.item img”)。每个(函数(){
str=$(this.attr('src');
arr=str.split(“?”);
var new_link=arr[0];
$(this.attr('src',新链接);
});

你的问题是什么?你的问题是什么?因为你说你不使用
$(这个)
,但你为什么不使用?(这是我的问题…)非常感谢!我只是不知道如何正确地做。我还是很新鲜。但这很完美