如何设置括号和括号之间的文本的样式
How to style parentheses and the text inbetween them?
我有一行文字:
<h1 class="productName">Product Name (Blue)</h1>
和我希望样式括号和中间的文本-理想情况下放置一个span
在他们周围。
我试着在这里调整解决方案,但我不能让它工作。
如果你有这样的HTML:
<div id="test">Product name (colour)</div>
您可以使用这个javascript来添加所需的span:
var o = document.getElementById("test")
o.innerHTML = o.innerHTML.replace(/'([^')]*')/, '<span class="highlight">$&</span>');
,然后为类设置CSS以控制格式。
如果你想替换多于一个,那么你将不得不添加g标志,并稍微改变正则表达式为最小匹配而不是最大匹配:
var o = document.getElementById("test")
o.innerHTML = o.innerHTML.replace(/'([^')]*?')/g, '<span class="highlight">$&</span>');.
您可以在这里看到它的工作原理:http://jsfiddle.net/jfriend00/NyaZ2/.
好了,现在你已经包含了HTML,你可以使用jQuery这样做:
var o = $(".productName");
o.html(o.html().replace(/'([^')]*?')/g, '<span class="highlight">$&</span>'));
<!-- load jquery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('h1').each(function(){
var splitChar = '(';
var tmp = $(this).text().split(splitChar);
if (tmp.length == 2) {
$(this).html(tmp[0] + '<span>(' + tmp[1] + '</span>');
}
});
});
</script>
<style> span { color: #c00; } </style>
<body>
<h1>Product name (colour)</h1>
<h1>Product name (colour)</h1>
<h1>Product name (colour)</h1>
<h1>Product name (colour)</h1>
<h1>Product name (colour)</h1>
<h1>Product name (colour)</h1>
</body>
相关文章:
- 如何在图片和边缘之间居中设置标签
- 设置两个反应组件之间状态的正确方式
- 如何在多个控制器之间封装设置$scope值
- 如何在打开层3中的堇青石之间设置矢量图标的动画
- 在两个引号之间设置光标
- 如何设置页面之间过渡的加载图标
- Angular,设置一个回调函数,用于在工厂和控制器之间更新
- 在要设置动画的所有方法之间进行选择
- 如何使用JavaScript设置内容和页脚之间的距离
- 设置标记之间多段线的动画-Mapbox
- 如何使用ngAnimate在CSS类之间设置动画
- 如何使用计时器在图像之间切换?(设置间隔)
- 在本地存储中设置的两个值之间减去时间
- 直接在 HTML 中设置“onclick”与通过 DOM 设置“onclick”之间有区别吗?
- 在图表 svg 条形图上的值之间设置动画转换
- 如何在函数调用之间设置超时
- 为什么我的设置函数之间的超时不起作用
- CSS 过渡:在“高度”样式属性的内联样式之间设置动画
- PHP或Javascript-如何设置表单提交之间的最短时间
- 我如何在IDE (WebStorm)项目之间复制设置