好的,我刚刚开始使用jQuery。
我有一个包含日期值表的页面。每个都包裹在我能找到的标签中
$( 'mytag')。
<mytag>2009-10-31</mytag>
如何使用Jquery,我
因此<mytag>2009-10-31</mytag>
将替换为<mytag>Very Late</mytag>
我写了Javascript函数。我的问题是传递单个值的jQuery语法。
答案 0 :(得分:6)
首先,您需要一个元素选择器,例如
$('table')
将选择所有&lt; table&gt;你的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()));
});
答案 1 :(得分:0)
$('mytag').each(function (index,tag) {
$(tag).text( myFunc($(tag).text()) );
});
答案 2 :(得分:0)
$("mytag").each(function() {
$(this).html("Very Late");
});
答案 3 :(得分:0)
$('mytag').each(function() {
$(this).text(someFunction($(this).text()));
});
但是,从您的问题的声音来看,jQuery-timeago plugin可能会更好地为您服务。对于您的特定情况,您可能希望将来允许日期:
jQuery.timeago.settings.allowFuture = true;
...而且你想要创建自己的语言覆盖。请参阅language override examples。您可以定义几个“迟到”和“非常晚”的值。您还可以将函数传递给每个函数,以根据时间戳的天数更改值。