2017-01-10 3 views
0

Ich habe diese for-Schleife, die Daten von einer Woche in Tabs ausgibt.erhalten href Anker-Tag in If-Bedingung

for ($i = 0; $i <= 7; $i++) { 

    $date = date('Y-m-d', strtotime("+$i day", $start)); 
    $date1 = $date; 
    $day1 = date('D', strtotime($date1)); 
    $date = explode('-', $date); 
    $dateinput = date('Y-m-d', strtotime("+$i day", $start)); 

    $dateinput=explode('-',$dateinput); 
    $year=$dateinput[0]; 
    $month=$dateinput[1]; 
    $day= $dateinput[2]; 
    $dateinput=$month.'/'.$day.'/'.$year; 
    $dateinput1=$month.'-'.$day.'-'.$year; 

    $date = $date[2]; 


echo '<li class="lia li'.$dateinput.'" id="'.$dateinput1.'" data="'.$dateinput.'"> 
<input type="hidden" class="getdate" value="'.$dateinput.'"> 
<a href="#tabs-'.$i.'" id="#tabs-'.$i.'" class="date">' . $date . ' ' . $day1 . '</a></li>'; 

}

Ich habe einen jQuery-Code, der das Datum entsprechen, ausgewählt und das Datum in Registerkarten. Wenn sie übereinstimmen, weise ich dem Tab dieses Datums eine Klasse zu.

if(Date.parse(date) == Date.parse(ndate)) 
    { 

     jQuery("#tabs > .uol > li[data='" + date + "']").addClass("selectedli"); 

     var href = $(a.dateanchor).attr('href'); 
     alert(href); 

    } 

Ich möchte den href-Wert der bestimmten Registerkarte, wo Datum übereinstimmen. Wie kann ich das tun? Sie können in oben Code sehen, wie ich versuchte, es zu bekommen, aber es warnt undefined.

+0

Wo ist das Objekt 'a.dateanchor' definiert? Willst du '$ (" a.date ") .attr ('href')' stattdessen tun? –

Antwort

0

dankt alle ich mein Problem gelöst habe meine eigenen auf.

var tabid = jQuery("#tabs > .uol > li > a[dataa='" + date + "']").attr('href'); 
     alert(tabid); 
1

Da der von Ihnen verwendete Selektor keine Variable ist, müssen Sie ihn in einfachen oder doppelten Anführungszeichen in Ihrem jQuery-Code verwenden.

So ist die korrekte Syntax hier wird eine der folgenden sein:

var href = $('a.dateanchor').attr('href'); 

oder

var href = $("a.dateanchor").attr('href');