• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

jQuery - attr('href'): Fragezeichen und darauf folgende Parameter fehlen

T!P-TOP

Mitglied
Guten Abend,

PHP:
 $('a').attr('onclick', 'alert(\''+ $('a').attr('href') +'\')');
$('a').attr('href', '#');

Im PopUp erscheint nur index.php - Fragezeichen und darauf folgende Parameter werden von attr('href') scheinbar weggeschnitten.

Anstatt index.php?controller=bar wird also lediglich index.php ausgegeben. Gibts da n Workaround?



Grüße
Nico
 
wenn ich das recht verstehe, ist bevor die zweite zeile ausgeführt wird, href="index.php?controller=bar" und der alert hat nur index.php drin stehen oder?
 
Dein Problem ist vermutlich, dass du einen zweiten Link auf der Seite hast, der nur auf index.php zeigt. Dessen href-Attribut wird ausgelesen und dem Handler zugewiesen.

HTML:
<!DOCTYPE html>

<html lang="en">

    <head>
        <meta charset="utf-8" />
        <title>Demo</title>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
        <script type="text/javascript">
            /*<![CDATA[*/

            $(function () {
                $('a').attr('onclick', 'alert(\''+ $('a').attr('href') +'\'); return false;');
            });

            /*]]>*/
        </script>
    </head>

    <body>
        <p>
            <a href="bla.php?x=y">bla.php?x=y</a>
        </p>
        <p>
            <a href="index.php?controller=foo">index.php?controller=foo</a> (diesen Link klicken)
        </p>
    </body>

</html>

Du suchst vermutlich eher sowas:

Code:
            $(function () {
                $('a').click(function (event) {
                    event.preventDefault();
                    alert($(this).attr('href'));
                });
            });
 
Zurück
Oben