检查div文本jquery中是否存在字符串

时间:2015-10-06 06:04:31

标签: javascript jquery html

var qtr = $('div').text();
var qtr1 = qtr.split(',')
console.log(qtr1.length)

for (var i = 0; i < qtr1.length; i++) {
  console.log(qtr1[i]);
}
console.log(qtr1);
if ($.inArray('1st qtr', qtr1)) {
  alert('1st');
}
if ($.inArray('2nd qtr', qtr1)) {
  alert('2nd');
}
if ($.inArray('3rd qtr', qtr1)) {
  alert('3rd');
}
if ($.inArray('4th qtr', qtr1)) {
  alert('4th');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>1st qtr,2nd qtr,3rd qtr,4th qtr,</div>

我有一个包含文本的div我想检查div中是否有特定的文本。我尝试拆分div文本并检查$.inArray但是第一个文本即使丢失也没有显示。

问题:

  1. 即使只有4个文本,为什么我的长度为5。最后一个
  2. 添加了额外的空间
  3. 为什么第一个1st qtr文本即使存在也不会显示。
  4. check if a text is existing in a text的最佳选择。

1 个答案:

答案 0 :(得分:5)

  

即使只有4个文本,为什么我的长度为5。最后一个额外的空间正在添加

该字符串末尾包含public abstract class AbsClass<Q extends Interf, M extends AbsClass<Q, M>> { public abstract Ref<M> getRef(); public abstract void setRef(Ref<M> newRef); } public class ChildClass extends AbsClass<InterfImpl, ChildClass> { public Ref<ChildClass> getRef() { return null; } public void setRef(Ref<ChildClass> newRef) { } } 。当使用,拆分字符串时,会添加一个空字符串作为最后一个元素,因为在最后一个,之后没有任何内容。您可以使用正则表达式删除最后一个,

  

为什么第一个qtr的文本现在显示,即使它存在。

,返回字符串中找到的子字符串的索引。因此,对于第一个字符串,返回索引inArray。由于0是伪值,因此if条件的计算结果为false,并且不执行该块。

更新代码

&#13;
&#13;
0
&#13;
var qtr = $('div').text().replace(/,$/, '');
var qtr1 = qtr.split(',');

console.log(qtr1.length)

if ($.inArray('1st qtr', qtr1) !== -1) {
  alert('1st');
}
if ($.inArray('2nd qtr', qtr1) !== -1) {
  alert('2nd');
}
if ($.inArray('3rd qtr', qtr1) !== -1) {
  alert('3rd');
}
if ($.inArray('4th qtr', qtr1) !== -1) {
  alert('4th');
}
&#13;
&#13;
&#13;

  

检查文本中是否存在文本的最佳方法是什么。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div>1st qtr,2nd qtr,3rd qtr,4th qtr,</div>最好检查字符串是否包含子字符串

&#13;
&#13;
indexOf
&#13;
&#13;
&#13;