jQuery返回文本,但函数确实改变了值

时间:2016-02-09 17:11:23

标签: javascript jquery

正如您在图片中看到的那样,它说+ $ 10.00(下面显示为红色) - 这一点就是我要删除的内容。

Example of price increase

靛蓝色区域为:<dt class="swatch-attr">

红色的ares是:<span class="select-label">

样本按钮包含在:<span class="swatch-label">

我尝试使用这段代码

删除此功能失败
<script type="text/javascript">
    // <![CDATA[
    jQuery(document).ready(function(e) {
        checkswatches();

        jQuery("span.swatch-label").click(function(){
            checkswatches();
        });
    });

    function checkswatches(){
      jQuery("span.select-label").each(function(){
        var optiontext = jQuery(this).text();
        var addsignpos = optiontext.indexOf('+');
        var subtractsignpos = optiontext.indexOf('-');
        if(addsignpos>0){
            var result = optiontext.substring(0,addsignpos-1);
            jQuery(this).html(result);
        }

        if(subtractsignpos>0){
            var result = optiontext.substring(0,subtractsignpos-1);
            jQuery(this).html(result);
        }
      });
    }
    // ]]>
</script>

当我运行上述功能时,仍会显示上图中显示的价格上涨。

Live Example

任何建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

这应该有效:

function checkswatches(){
    jQuery("span.select-label").each(function(){
        jQuery(this).text(
          jQuery(this).text().replace(/[+-]\$[0-9\.]+/g, "")
        );
    });
};