使用jquery计算空格数?

Moh*_*Ram 2 javascript jquery

问题:我需要一个解决方案,通过使用jquery查找list标签内复选框前面的空格数

   <li id='list_id'>
    &nbsp;&nbsp;<input type="checkbox" name="check">good
   </li>
Run Code Online (Sandbox Code Playgroud)

ale*_*lex 5

var listItem = $('#list_id');

var clone = listItem.clone();

clone.find('*').remove();

matches = clone.html().match(/&nbsp;/g);

alert(matches.length);
Run Code Online (Sandbox Code Playgroud)

这将alert()&nbsp;文本节点中的数量#list_id.

在jsFiddle上看到它.

但是,如果你想要领先的东西,试试这个......

var listItem = $('#list_id');

var html = $.trim(listItem.html());

var count = 0;
var match = '&nbsp;';


while (html.substr(0, match.length) === match) {
   count++;
   html = html.substr(count * match.length, (count * match.length) + match.length);
}


alert(count);
Run Code Online (Sandbox Code Playgroud)

在jsFiddle上看到它.

这将计算所有&nbsp;端到端,即在一起.如果您只想在开启角括号之前匹配每一个,在jsFiddle上有一个解决方案.