我想设置一个条件,如果SPAN的内容与“total-items”CLASS = 12,然后弹出警报。使用jQuery SPAN内容的条件
这里是我的HTML代码:
<span class="total-items">12</span>
这里是我的jQuery代码:
if($('.total-items').html == 12){
alert("Test");
}
我想,也许我应该使用parseInt功能?不知道如何。任何帮助,将不胜感激。
我想设置一个条件,如果SPAN的内容与“total-items”CLASS = 12,然后弹出警报。使用jQuery SPAN内容的条件
这里是我的HTML代码:
<span class="total-items">12</span>
这里是我的jQuery代码:
if($('.total-items').html == 12){
alert("Test");
}
我想,也许我应该使用parseInt功能?不知道如何。任何帮助,将不胜感激。
if ($('.total-items').text() === '12')
如果SPAN的内容可能包含开头或结尾的空白,你就必须比较它与期望的值之前摆脱它:
if ($.trim($('.total-items').text()) === '12')
而且,请考虑缓存对该SPAN的引用,以便您不必重复查询。 (如果你需要做的是检查不止一次做到这一点。)
var $totalItems = $('.total-items');
然后
if ($totalItems.text() === '12')
这将工作,但['.text()'](http://api.jquery.com/text/)将是最适合这种类型的比较。 (如果这个'span'中有子元素呢?) – MilkyWayJoe
@MilkyWayJoe是的,'text()'更合适。 –
如果它完全匹配,它并不重要。但如果考虑到''这样的东西,那么'.text()'最有可能是更好的选择。 –
做这样的:
if(+$('.total-items').text() === 12){
alert("Test");
}
这将创建一个弹出时文本是12.
我只想指出['text()'](http://api.jquery.com/text/)是一个get方法,因此您必须将其称为打开和关闭括号。而一个诚实的问题:那是什么加号? – MilkyWayJoe
@MilkyWayJoe - 哎呀,忘了'()'。 '+'会将所有内容都变成“数字”。如果它不是数字,它会返回'NaN'。 –
很酷,不知道。谢谢 – MilkyWayJoe
我打算建议不要从span
的tex解析12
那样。你这样做的方式看起来好像你将在页面上显示数字十二。依靠像这样的演示文稿中的数据是一个坏主意。如果您决定要将跨度的内容设置为Total items: 12
,该怎么办?你很难解析12,或者你必须引入一个新的元素。
这是我提议:
<span id="total-items" data-count="12">12</span>
和:
if ($('#total-items').data('count') === '12') {
// do whatever
}
另外注意,我改变total-items
从class
到id
。这提醒你,应该只有一个元素,你从这些数据中获取。
这是一个伟大的观点,它解决了几乎所有可能的问题与当前答案 – MilkyWayJoe
@MilkyWayJoe谢谢。我很好奇,看看OP是否在意这些担忧或不... – lbstr
但是OP *会*在页面上显示该号码。 (至少,他没有暗示他不想显示它。)如果数字应该显示在页面上,那么另外将它放入数据属性是多余的。看来,OP使用该SPAN专门存储一个数字值,如下所示:'Total Items:',这意味着他可以依靠它只包含数字值。 –
我想你想要做'if($('。total-items')。text()=== 12)' – MilkyWayJoe
这绝对不行。 '==='需要一个数字,'.text()'永远不会返回一个数字。 – Rudie
请原谅我..忘记单引号 – MilkyWayJoe