我有这个HTML元素:
<div id='4-12-2012' class='date'>blah blah blah</div>
我将点击事件绑定到.date,所以当点击它时,会调用一个函数。我的目标是以斜杠而不是破折号结束日期(来自ID):
d = $(this).attr('id').replace('/-/g', '/');
alert(d);
这可能不是那么简单......但是使用alert()显示的结果仍然有破折号,“4-12-2012”......我在这里错过了什么完全显而易见的事情?! : - )
答案 0 :(得分:7)
您的问题的答案已经发布,但在旁注中,我认为没有理由在这种情况下使用jquery。它正在做的就是调用不需要的函数
试试这个
d = this.id.replace(/-/g, '/');
这是测试的一个很好的参考:
http://jsperf.com/el-attr-id-vs-el-id/7
编辑:忘记删除刻度线
答案 1 :(得分:5)
试试这个:
删除正则表达式周围的'
d = $(this).attr('id').replace(/-/g, '/');
答案 2 :(得分:2)
简单正则表达式,as seen on this jsfiddle:
d = $(this).attr('id').replace(/-/g, '/')
答案 3 :(得分:2)
不要将正则表达式放在引号中:
d = $(this).attr('id').replace(/-/g, '/');