正则表达式 + 修改文本
regex + modify text
<span id="one"><a id="google" href="google.com/">link1</a></span> <br />
<span id="two"><a id="yahoo" href="yahoo.com/">link2</a></span>
<br />
<br />
<span class="click" id=1>click one</span> <br />
<span class="click" id=2>click two</span> <br />
<span class="click" id=3>click three</span> <br />
$(".click").live('click', function() {
$("a").attr('href', $("a").attr('href').replace(/'d*$/, $(this).attr('id')));
});
例如,如果我单击一个,则链接是:
<span id="one"><a id="google" href="google.com/1">link1</a></span> <br />
<span id="two"><a id="yahoo" href="google.com/1">link2</a></span>
而不是:
<span id="one"><a id="google" href="google.com/1">link1</a></span> <br />
<span id="two"><a id="yahoo" href="yahoo.com/1">link2</a></span>
现场示例:http://jsfiddle.net/wtAbp/14/
我该如何解决它?
这是工作示例 http://jsfiddle.net/wtAbp/18/
$(".click").live('click', function() {
var $id = $(this).attr('id');
$("a").each(function() {
$(this).attr('href', $(this).attr('href').replace(/'d*$/, $id));
});
});
您使用的是$("a")
而不是$(this)
$(".click").live('click', function() {
$(this).attr('href', $(this).attr('href').replace(/'d*$/, $(this).attr('id')));
});
$(".click").live('click', function() {
var id = $(this).attr('id');
$("a").each(function() {
$(this).attr('href', $(this).attr('href').replace(/'d*$/, id));
});
});
欢呼^^
原因是当您单击一个元素时,它会替换所有元素上的值。试试这个:
<span id="one"><a id="google" href="google.com/">link1</a></span> <br />
<span id="two"><a id="yahoo" href="yahoo.com/">link2</a></span>
<br />
<br />
<span class="click" id=1>click one</span> <br />
<span class="click" id=2>click two</span> <br />
<span class="click" id=3>click three</span> <br />
$(".click").live('click', function() {
var $this = $(this);
$.each("a", function(index, element) {
$(element).attr('href', $(element).attr('href').replace(/'d*$/, $this.attr('id')));
});
});
相关文章:
- 我的剧本赢了'不能在IE中工作(甚至9)?修改复制文本的简单javascript
- 修改 JavaScript 以使用 ASCII 字符或图像而不是文本
- 如何从输入 JQuery 或 javascript 中获取修改后的文本
- 当请求时,我如何从文本区域删除null.GetAttribute为null,以及如何从servlet修改标签的可见性
- 使用正则表达式修改html的文本(使用javascript)
- 通过事件监听器在circle的文本匹配id上修改circle元素
- jquery下拉菜单修改所选文本,但在后续单击时显示先前所选文本的原始值
- 使用 jquery 修改文本区域上的撤消/重做行为
- 角度.js:修改时选择文本区域的内容
- 修改 jQuery 和 PHP 代码,将 ID 和文本值拉取到 OPTION 元素中
- 如何从角度王牌编辑器获取修改后的文本
- 在 Javascript 中修改文本
- 获取由使用 webkitbrowser 注入的 JavaScript 修改的输入文本的值时出错
- 挖空文本输入修改可观察不更新文本
- Chrome 扩展程序上下文菜单 - 修改文本框选择
- 获取修改后的样式表(Firefox)的文本
- 如何将文本从一个元素复制和修改到另一个元素
- 如何使用他们的 SDK 修改在 Facebook 共享上显示的文本和图像
- 简单的JavaScript Chrome扩展-打开一个URL-从输入文本修改
- Extjs 4分组列标题动态文本修改