2017-09-12 12 views
2

私はすでにそれについて検索しました。しかし、それは他の問題と同じではありません。私が欲しいのは、href属性を使って<a>タグを選択することです。 href属性を介した選択が正常に動作しているjqueryでhref経由でタグを選択する方法

<div class="jump-to"> 
    <ul> 
    <li>No a</li> 
    <li class="with-a"> 
     <a href="hello1">Has a</a> 
    </li> 
    <li class="with-a"> 
     <a href="hello8">Has a</a> 
    </li> 
    <li class="with-a"> 
     <a href="hello10">Has a</a> 
    </li> 
    </ul> 
</div> 
var current_anchor = window.location.href; 
var left_anchor = $(".jump-to ul li.with-a a[href="+ current_anchor +"]").prev("li a").attr("href"); 

alert(left_anchor); 
+0

'current_anchorは'私はそれを更新した –

+0

を意味しない何を:あなたは、まずこのように、find('a')その後、prev()そして、親を取得するにはclosest('li')を使用する必要があります。 – Jonjie

答えて

3

:以下の私のコードを参照してください。問題は、DOMのトラバーサルが正しくないためです。

prev('li a')はから有効ではありません。liは兄弟ではありません。

var current_anchor = 'http://localhost/myproject/hello8'; 
 
var left_anchor = $('.jump-to ul li.with-a a[href="' + current_anchor + '"]').closest('li').prev('li').find('a').attr('href'); 
 
console.log(left_anchor);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="jump-to"> 
 
    <ul> 
 
    <li>No a</li> 
 
    <li class="with-a"> 
 
     <a href="http://localhost/myproject/hello1">Has a</a> 
 
    </li> 
 
    <li class="with-a"> 
 
     <a href="http://localhost/myproject/hello8">Has a</a> 
 
    </li> 
 
    <li class="with-a"> 
 
     <a href="http://localhost/myproject/hello10">Has a</a> 
 
    </li> 
 
    </ul> 
 
</div>

+0

上記のコードを更新したので、もう1つのリスト項目を追加できますか? – Jonjie

+0

確かに、JSロジックに全く違いはありませんが –

+0

エラー:構文エラー、認識できない式:.jump-to ul li.with-a a [href = hello8] ' – Jonjie

関連する問題