วิธีรับค่า href โดยใช้ jQuery


163

ฉันพยายามรับค่า href โดยใช้ jQuery:

<html>
    <head>
        <title>Jquery Test</title>
         <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
        <script type="text/javascript">
        $(document).ready(function() {
            $("a").click(function(event) {
                alert("As you can see, the link no longer took you to jquery.com");
                var href = $('a').attr('href');
                alert(href);
                event.preventDefault();
            });
        });
        </script>
    </head>
    <body>
        <a href="http://jquery.com/">jQuery</a>
    </body>
</html>

แต่มันไม่ทำงาน ทำไม?


อยากบอกเราไหมว่าอะไรไม่ได้ผล? การแจ้งเตือนว่างเปล่าหรือไม่ คุณได้รับการแจ้งเตือน 2 ครั้งหรือไม่ ข้อผิดพลาด js ใด ๆ ? มันใช้งานได้สำหรับฉัน ...
เบ็นโรวี

ขออภัย ... ปัญหาคือล้างแคช
Adi Sembiring

ซอที่นี่: jsfiddle.net/LijoCheeran/t1xs4wo7
LCJ

คำตอบ:


351

คุณต้องการ

var href = $(this).attr('href');

ภายในตัวจัดการการคลิก jQuery thisวัตถุจะอ้างถึงองค์ประกอบที่คลิกในขณะที่ในกรณีของคุณคุณจะได้รับ href สำหรับตัวแรก<a>บนหน้าเว็บเสมอ นี่คือสาเหตุที่ตัวอย่างของคุณใช้งานได้ แต่รหัสจริงของคุณไม่ได้



2

ใช้งานได้ ... ผ่านการทดสอบใน IE8 (อย่าลืมอนุญาตให้เรียกใช้จาวาสคริปต์หากคุณกำลังทดสอบไฟล์จากคอมพิวเตอร์ของคุณ) และโครเมี่ยม


Chrome สามารถระงับป๊อปอัปที่สองได้ขึ้นอยู่กับการตั้งค่าของคุณคุณทำการทดสอบด้วย Chrome หรือไม่ หากเป็นเช่นนั้นให้แสดงความคิดเห็นการแจ้งเตือนครั้งแรกของคุณและจะใช้งานได้
Michael La Voie

2

หากหน้านั้นมีหนึ่งรายการ<a>แต่ใช้งานได้มาก<a>ต้องใช้var href = $(this).attr('href');


1
ให้เอาต์พุตที่ไม่ได้กำหนด
VishalParkash

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.