2011-02-06 55 views
0

我正在开发一个网站,并且在本网站的某些页面中有一些服务与其相关价格(我使用WordPress作为CMS)结合使用。如何为数字着色

我会以不同的方式全部价格颜色和我想知道,如果使用Javascript,或者干脆利用一个特定的CSS规则存在一些自动的方式来做到这一点,例如。

另一种方法可以手动插入在所有的价格像“<span class='price'>...</span>”的HTML标记但对我来说我会坏和枯燥的方式;-)

感谢

+1

你能发布这些价格的html吗?我怀疑你需要手动完成它,至少应该可以在后ID中搜索这些元素,但这取决于HTML是如何格式化的。 – AJJ 2011-02-06 16:20:07

回答

1

你的HTML实际上是一团糟,事情很难追溯。每个段落似乎都有自己的div - 这是一个禁忌,p标签存在的原因。此外,所有这些div都无法单独标识,这意味着您永远无法达到您需要的。

说实话,这里最好的方法就是把这个范围放在你找到的每一个价格上。

你总是可以追查,因为只有他们旁边用来价格的所有因素强劲,但它可能错误出在其他地方强标签的其它用途(如果你有任何)。因为它似乎并不像CSS有办法找到父元素,你将不得不通过JS做到这一点反正:

var pricedivs = document.getElementsByTagName("strong"); 
for (var i = 0; i < pricedivs.length; i++) { 
    pricedivs[i].parentNode.className = "price"; 
} 

和相关的CSS:

.price { color: red; } 
.price strong { color: black; } /* We only want the text beside the strong tag, so set the style back */ 

的效果是所有围绕具有强标记的文字的文字将被涂成红色。

0

是否有你可以任意代码分享,这样我们可以看到你的情况?只要价格与其他方式分开,您可以为其创建一个CSS条目。

此外,使用JS设置页面格式不建议你不应该这样做,除非你真的无法找到任何其他方式来访问你需要的页面的确切部分。

编辑:我想你可以做的是搜索使用JS文本中的任何数字,环绕它的是跨度。然后CSS会完成剩下的工作。但是,如果您不小心在搜索文本的位置,这可能会很昂贵,并且对于禁用了JS的任何人而言,这些数字不会显示颜色。

0

我做一个例子。在这个页面http://www.3jolieistitutodibellezza.it/corpo-donna/价格都在这样的结构:

<div><strong>Polyglyco Pell:</strong> 25,00</div><div>A base di Poli Idrossiacidi e Alfa Idrossiacidi, favorisce l&#8217;eliminazione delle cellule morte, agevola il turnover cellulare, dona turgore e levigatezza</div><div>al tessuto. Indicato per pelli spesse, ipercheratosiche, favorisce la riduzione delle smagliature di recente formazione.</div> 

不使用JS也许这是不可能找到的价格和它们上色。

大概只有简单的方法来上色的价格是添加类属性的div包含价格容器并应用一个简单的CSS规则。

您对此有何看法?