我正在创建自己的 jquery 插件来格式化电话号码。以下是一些带有一些演示数据的跨度。
<span class="formatMe"> </span><br />
<span class="formatMe">(123)456-7890</span><br />
<span class="formatMe"> </span><br />
<span class="formatMe"></span><br />
<span class="formatMe">(123)456-7890</span><br />
我的问题发生在包含
我想我只是简单地 .trim() 每个元素内的值,这会照顾空白,但我没有得到任何想要的结果。
<script>
(function( $ ){
$.fn.voip1Wire = function() {
return this.each(function() {
var theValue = $(this).html().trim().replace(/ /g,'');
if (theValue === null || theValue === undefined || theValue == ""){
$(this).html("------");
return true; // break out of the loop
}
$(this).html('formatted number to return');
}); // eof .each
};
})( jQuery );
</script>
这可能是矫枉过正,你可以看到我正在使用 .trim() 和 .replace()
var theValue = $(this).html().trim().replace(/ /g,'');
我可能没有正确使用 javascript/jquery,但这是我所拥有的:
formatted number to return
formatted number to return
formatted number to return
-----------
formatted number to return
我希望第一个和第三个返回破折号。所以我对空白修剪感到困惑。有人看到我做错了什么吗?