jQuery - 显示和隐藏电话号码的最后4个号码

时间:2011-06-13 18:43:55

标签: javascript jquery

如何用949XXX​​X替换它来显示和隐藏电话号码的最后4个号码,当你点击它时显示其余的号码?

我只想用jQuery / JavaScript来做这件事。

4 个答案:

答案 0 :(得分:13)

<div id="number" data-last="1234">949<span>XXXX</span></div>

$('#number').click(function() {
    $(this).find('span').text( $(this).data('last') );
});

示例: http://jsfiddle.net/4fzaG/


如果您想在每次点击时切换,请执行以下操作:

$('#number').toggle(function() {
    $(this).find('span').text( $(this).data('last') );
},function() {
    $(this).find('span').text( 'XXXX' );
});

示例: http://jsfiddle.net/4fzaG/1/


或者,如果您不想使用自定义属性,请执行以下操作:

<div id="number">949<span>XXXX</span><span style="display:none;">1234</span></div>

$('#number').click(function() {
    $(this).find('span').toggle();
});

示例: http://jsfiddle.net/4fzaG/3/


修改

为了优雅降级,您可能希望让默认视图显示该数字,并且只有在启用JavaScript时才对其进行模糊处理。

<div id="number" data-last="1234">949<span>1234</span></div>

$('#number').toggle(function() {
    $(this).find('span').text( 'XXXX' );
},function() {
    $(this).find('span').text( $(this).data('last') );
})
  .click();

示例: http://jsfiddle.net/4fzaG/4/

答案 1 :(得分:1)

是的,你可以这样做(见jsfiddle as a proof):

jQuery('body').delegate('span[data-replace]', 'click', function(event){
    event.preventDefault();
    var older_value = jQuery(this).html();
    jQuery(this)
        .html(jQuery(this)
        .attr('data-replace'))
        .attr('data-replace',older_value);
});

电话号码的编码方式如下:

<span data-replace="555-41-23">555-XX-XX</span>

这将显示/隐藏每次点击的最后一个字母。它将事件绑定到<body>(您可以将其更改为带有电话号码的容器)并将它们委托给页面上的正确元素,因此使用AJAX不会成为问题(您不需要重新附加事件)。

答案 2 :(得分:1)

非常快速的答案:更多电话号码错误:)

Telefon : 0 216 457 <span onclick="this.innerHTML='49 47'">XX XX</span>

答案 3 :(得分:0)

<div class="overh brkword lheight18 pdingtop5 pdingleft8">
    <span class="small">Telefon</span>
    <strong class="">07XX XXX XXX</strong>
    <a href="javaScript:void(0);" rel="phone" class="{clickerID:'phone_details','path':'phone', 'id':'WlCT', 'id_raw': '13667831' } atClickTracking link spoiler small link-phone nowrap">
    <span>Arata numarul de telefon</span>
    </a>
</div>