2017-09-16 40 views
0

不知有人能帮助我吗?我有HTML使用javascript控制文本

<td class="fieldarea"> 
<label for="cycle1" class="radio-inline">{$pricing.monthly}</label> 
</td> 

{$pricing.monthly}这一点 - 吐出来的是这样的“£9.99一年的。

我无法控制它吐出来,有时可能会有一个免费产品,它会显示这样的:£0.00 one year

这是相当难看。我希望能够用这个逻辑来控制文本:

< If text in .radio-inline = '£0.00' replace with the text ' ' (hide it) > 

希望这种事情是可能的吗?

+3

这是什么模板引擎? – Caramiriel

回答

0

您可以检查$ pricing.monthly的价值。

使用indexof

$(document).ready(function() { 
 
var emptyprice = "£0.00"; 
 
//loop thru elements with radio-inline class 
 
var labels = document.getElementsByClassName("radio-inline"); 
 
for(var i = 0; i < labels.length; i++) 
 
{ 
 
// Compare the price with the £0.00` 
 
var aPosition = labels[i].textContent.indexOf(emptyprice); 
 
// Then check if the aPosition if dosn't equal to -1... 
 

 
if (aPosition !== -1){ 
 
    // replace £0.00 year with 1 years 
 
    var str = labels[i].textContent; 
 
    labels[i].textContent = str.replace(emptyprice, "1")+' year'; 
 

 
} 
 
} 
 
});
<td class="fieldarea"> 
 
<label for="cycle1" class="radio-inline"> 
 
£0.00 
 
</label> 
 
</td> 
 
<hr> 
 
<td class="fieldarea"> 
 
<label for="cycle1" class="radio-inline"> 
 
£9.99 
 
</label> 
 
</td>

+0

感谢您的回复。我不能编辑代码,所以需要它来专门查看是否有£0.00,如果有,请隐藏它。 – Doug

+0

你想隐藏td!? – M0ns1f

+0

这是你在找什么,我0.00英镑自动隐藏 – M0ns1f

0

它是什么框架试试这个逻辑是什么?你可以在你的js解析数字并用html做一些动作。例如,如果Angular js可以使用指令ng-hide/ng-show/ng来隐藏span,如果

+0

感谢您的回复。这就是超出我有限的知识我害怕!如果我是新的,那意味着我可能会自己写代码:) – Doug