Javascript regex+;jquery-修改文本 单击一个 单击两个 单击三个 $(“.click”).live('click',function(){ $(“a”).attr('href',$(“a”).attr('href')。替换(/\d*$/,$(this.attr('id')); });
如果我单击,例如单击一个,则链接为:Javascript regex+;jquery-修改文本 单击一个 单击两个 单击三个 $(“.click”).live('click',function(){ $(“a”).attr('href',$(“a”).attr('href')。替换(/\d*$/,$(this.attr('id')); });,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,如果我单击,例如单击一个,则链接为: <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 clas
<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>
现场示例:
我如何修复它?这是工作示例
这是工作样品
您使用的是$(“a”)
而不是$(this)
您使用的是$(“a”)
而不是$(this)
欢呼^^
cheel^^原因是当您单击一个元素时,它会替换所有元素上的值。试试这个:
$(".click").live('click', function() {
var id = $(this).attr('id');
$("a").each(function() {
$(this).attr('href', $(this).attr('href').replace(/\d*$/, id));
});
});
单击一个
单击两个
单击三个
$(“.click”).live('click',function(){
var$this=$(this);
$。每个(“a”,函数(索引,元素){
$(element.attr('href',$(element.attr('href')。替换(/\d*$/,$this.attr('id'));
});
});
原因是,当您单击其中一个时,它会替换所有a元素上的值。试试这个:
$(".click").live('click', function() {
var id = $(this).attr('id');
$("a").each(function() {
$(this).attr('href', $(this).attr('href').replace(/\d*$/, id));
});
});
单击一个
单击两个
单击三个
$(“.click”).live('click',function(){
var$this=$(this);
$。每个(“a”,函数(索引,元素){
$(element.attr('href',$(element.attr('href')。替换(/\d*$/,$this.attr('id'));
});
});
$(".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')));
});
});