Jquery替换为Javascript函数的返回值

Jquery替换为Javascript函数的返回值,javascript,jquery,function,replace,Javascript,Jquery,Function,Replace,好的,我只是从jQuery开始 我有一个带有日期值表的页面。每个都用一个标签包起来,我可以用它找到 $('mytag')。 2009-10-31 如何使用Jquery 取每个源值,然后 将其传递给Javascript函数 然后用函数计算的结果替换表中的源值 因此,2009-10-31将被非常晚 我已经编写了Javascript函数。我的问题是传递单个值的jQuery语法。首先,您需要一个元素选择器,例如 $('mytag').each(function (index,tag) { $(t

好的,我只是从jQuery开始

我有一个带有日期值表的页面。每个都用一个标签包起来,我可以用它找到 $('mytag')。
2009-10-31

如何使用Jquery

  • 取每个源值,然后
  • 将其传递给Javascript函数
  • 然后用函数计算的结果替换表中的源值
  • 因此,
    2009-10-31
    将被
    非常晚


    我已经编写了Javascript函数。我的问题是传递单个值的jQuery语法。

    首先,您需要一个元素选择器,例如

    $('mytag').each(function (index,tag) {
        $(tag).text( myFunc($(tag).text()) );
    });
    
    $('table')
    
    将选择html中的所有元素。所以

    $('mytag')
    
    会给你你的元素。您将得到返回的jQuery对象(不是DOM对象)。看

    然后,您需要为每个元素调用一个函数。为此,我们调用.each函数,并将函数传递给每个元素的调用:

    $('mytag').each(function(){
        //function code goes here
    });
    
    (见附件)

    本例中的函数称为匿名函数

    然后您希望在迭代中引用当前对象,因此我们使用DOM
    this
    项并将其包装到jquery对象中。要获取该值,我们使用.text()函数()

    注意:如果它是一个输入元素,那么您应该使用.val()

    将其传递给函数很容易:

        ...
        MyFunction($(this).text());
        ...
    
    text()函数有一个重载实现,允许您在传递值时设置文本:

        $(this).text(someval);
    
    因此,我们可以将其纳入我们的代码中

        ...
        $(this).text(MyFunction($(this).text()));
        ...
    
    制作最终代码块:

    $('mytag').each(function(){
        $(this).text(MyFunction($(this).text()));
    });
    

    但是,从您的问题的声音来看,您可能会得到更好的服务。对于您的特定情况,您可能希望在将来允许日期:

    jQuery.timeago.settings.allowFuture = true;
    

    …并且您希望创建自己的语言覆盖。看。您可以定义几个“迟到”和“非常晚”值。您还可以向每个人传递一个函数,以根据时间戳的前几天更改值。

    谢谢,这非常有效,而且您的解释非常透彻和清晰。经过深思熟虑的问题,欢迎来到社区。
    $('mytag').each(function(){
        $(this).text(MyFunction($(this).text()));
    });
    
    $('mytag').each(function() {
      $(this).text(someFunction($(this).text()));
    });
    
    jQuery.timeago.settings.allowFuture = true;