javascript - Jquery替换为Javascript函数的返回值

标签 javascript jquery function replace

好的,我才刚刚开始使用 jQuery。

我有一个包含日期值表的页面。每个都包裹在一个我可以找到的标签中 $('我的标签'). <mytag>2009-10-31</mytag>

我如何使用 Jquery

  1. 获取每个源值并
  2. 将其传递给 Javascript 函数
  3. 然后用函数计算的结果替换表中的源值。

所以 <mytag>2009-10-31</mytag>将替换为 <mytag>Very Late</mytag>

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

最佳答案

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

$('table')

将选择您的 html 中的所有

元素。所以,

$('mytag')

会给你你的元素。您将得到一个返回的 jQuery 对象(不是 DOM 对象)。参见 http://docs.jquery.com/Selectors

然后您想为每个元素调用一个函数。为此,我们调用 .each 函数,并传递函数以调用每个元素:

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

(参见 http://docs.jquery.com/Utilities/jQuery.each)

这种情况下的函数称为匿名函数

然后你想在迭代中引用当前对象,所以我们使用 DOM this 项并将其包装到一个 jquery 对象中。要获取值,我们使用 .text() 函数 ( http://docs.jquery.com/Attributes/text )

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

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

将它传递给一个函数很容易:

    ...
    MyFunction($(this).text());
    ...

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

    $(this).text(someval);

因此,我们可以将其考虑到我们的代码中

    ...
    $(this).text(MyFunction($(this).text()));
    ...

制作我们的最终代码块:

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

关于javascript - Jquery替换为Javascript函数的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1966623/