รับ href ของลิงก์หนึ่งและนำไปไว้ใน href ของลิงก์อื่น

ฉันกำลังพยายามดึง href ของลิงก์ใดลิงก์หนึ่งของฉัน และโคลน/คัดลอกไปยัง href ของลิงก์อื่น

นี่คือสิ่งที่ฉันพยายาม

      var link = $('.topbook');
      var link2 = $('.sidelink');
      var hrefOrig = link2.href;
      link.href = hrefOrig; 

ขอบคุณ

เจมี่

อัปเดต

นี่คือสิ่งที่ฉันพยายามที่จะได้รับ

<a href="/thdefault.aspx?propid=BARN" class="topbook"></a>

ลิงก์ด้านบนควรโคลนลิงก์ด้านข้างที่มี display:block

<a href="/thdefault.aspx?propid=FARM" class="sidelink" style="display:none"></a>

<a href="/thdefault.aspx?propid=BARN" class="sidelink" style="display:block"></a>

หวังว่านี่จะช่วยได้


person Jamie Taylor    schedule 02.09.2010    source แหล่งที่มา
comment
ขอบคุณที่ใช้งานได้ - มีปัญหานิดหน่อย มีวิธีใดบ้างที่จะบอกว่ารับ href ของปุ่ม .topbook ที่มีคุณสมบัติ style =display:block เนื่องจากฉันมี 10 ปุ่มในคลาส .topbook และต้องการรับ href ของปุ่มที่แสดงเท่านั้น ขอบคุณ   -  person Jamie Taylor    schedule 02.09.2010


คำตอบ (2)


ลองใช้ attr แบบนี้:

 var link = $('.topbook');
 var link2 = $('.sidelink');
 var hrefOrig = link2.attr('href');
 $(link).attr('href', hrefOrig); 

คุณสามารถทำให้มันสั้นลงได้ดังนี้:

$('.topbook').attr('href', $('.sidelink').attr('href')); 

อัปเดต

หากต้องการรับ href ขององค์ประกอบที่มองเห็น คุณสามารถใช้ตัวเลือกตัวกรอง :visible ดังนี้:

$('.topbook:visible').attr('href', $('.sidelink').attr('href')); 

สิ่งนี้จะใช้ href กับองค์ประกอบเหล่านั้นที่มีคลาส topbook และมองเห็นได้/กำลังแสดง

person Sarfraz    schedule 02.09.2010
comment
@Jamie Taylor: คุณช่วยอธิบายสิ่งที่คุณคาดหวังได้ไหม? - person Sarfraz; 02.09.2010
comment
@เจมี่: ลองสิ่งนี้: $('.topbook').attr('href', $('.sidelink:visible').attr('href')); - person Sarfraz; 02.09.2010

จะเร็วกว่ามากหากคุณใช้ $() กับชื่อแท็ก เนื่องจากแบบสอบถามนี้สามารถปรับให้เหมาะสมภายในได้ผ่านทาง document.getElementByTagName()

var link = $('a.topbook');
var link2 = $('a.sidelink');
link.attr('href',link2.attr('href'));

และถ้าคุณรู้ด้วยซ้ำว่าแต่ละลิงค์มีลิงค์เดียว:

var link = $('a.topbook:first');
var link2 = $('a.sidelink:first');
link.attr('href',link2.attr('href'));
person haggi    schedule 02.09.2010
comment
ขอบคุณที่ใช้งานได้ - มีปัญหานิดหน่อย มีวิธีใดบ้างที่จะบอกว่ารับ href ของปุ่ม .topbook ที่มีคุณสมบัติ style =display:block เนื่องจากฉันมี 10 ปุ่มในคลาส .topbook และต้องการรับ href ของปุ่มที่แสดงเท่านั้น ขอบคุณ - person Jamie Taylor; 02.09.2010