0

I have html code

<a href="#link1"><img src="image1"></a>
<a href="#link2"><img src="image2"></a>
<a href="#link3"><img src="image3"></a>

<a href="#link4">THIS TEXT, LINK NAME</a>
<a href="#link5">THIS TEXT, LINK NAME</a>

<a href="#link2"><img src="image2"></a>
<a href="#link3"><img src="image3"></a>

I need

<a href="#link4">THIS TEXT, LINK NAME</a>
<a href="#link5">THIS TEXT, LINK NAME</a>

How get links without image ? With CSS selector or JS selector?

dotpush
  • 420
  • 3
  • 14
user2425138
  • 89
  • 1
  • 5

3 Answers3

1

Try this

    var myList = []
    var all = document.getElementsByTagName("a");
    for(var i = 0 ; i < all.lenght; i++) {
      if(all[i].innerHTML == 'YOUR TEXT') {
        myList.push(all[i]);
      }
    }
Yahor Zhylinski
  • 433
  • 2
  • 9
  • 1
    var myList = [] var all = document.querySelectorAll("a"); for(var i = 0 ; i < all.length; i++) { if(all[i].querySelector("img") === null) { myList.push(all[i]); } }` – user2425138 Dec 11 '14 at 07:02
0

To select it using javascript, you can do

var linkList = document.getElementsByTagName("a");

for(i=0; i< linkList.length; i++){ 
   if(linkList[i].getElementsByTagName("img").length == 0){
      console.log(linkList[i]);
   }                            
}

Refer : http://jsfiddle.net/kfrmqzot/

As CSS does not have parent selector, you can not achieve this directly. You can wrap the text inside a span tag and select it.

Bhuvana
  • 154
  • 5
-1

try this $("a:not(:has(>img))")

Madhu
  • 124
  • 3
  • 9
  • Uncaught DOMException: Failed to execute 'querySelector' on 'Document': 'a:not(:has(>img))' is not a valid selector. – user2425138 Dec 11 '14 at 06:52