2013-08-28 4 views
4

Мой сайт содержит много изображений, и поэтому я не могу дать идентификатор для каждого изображения, это будет утомительная задача. Мне нужно получить исходный атрибут тега изображения, но я не могу сделать это без ID. Я попытался использовать attr() и getAttribute(), но он не работает для меня.Как получить атрибут div без ID

Мой код

<img src="./images/image1.jpg" width='100' height='100' alt='Sample image' onClick='imageInfo(this);'> 

<script> 
function imageInfo() 
{ 
    alert(this.src); 
} 
</script> 

я пытаюсь получить источник тега изображения, но он не приходит я также пытался в jsfiddle, но он не работает.

JS FIDDLE LINK

+0

http://jsfiddle.net/yL5cf/1/ – Neil

+1

Вам нужно было изменить свои варианты в вашей скрипке @hitesh. у вас был набор javascript для запуска onload, когда он должен был быть в теле. http://jsfiddle.net/LgLzh/24/ – ps2goat

+0

что со всеми downvotes? это ты? мы отвечаем на ваш вопрос; Если нет, вам нужно уточнить, о чем вы просите, сделав комментарии или изменив свой первоначальный пост. – ps2goat

ответ

6

попробуйте что-нибудь подобное. Потому что вы прошли объект изображения, но не используется в функции

<script> 
    function imageInfo(obj) 
    { 
     alert(obj.src); 
    } 
</script> 
+0

Привет, это правильный ответ !!! Мне нравится это из-за ur jsfiddle example спасибо за обмен ответ ... http://jsfiddle.net/LgLzh/32/ – Hitesh

+0

http://jsfiddle.net/LgLzh/32/ :::: скрипка ссылка – Hitesh

+0

Вы также можете оставьте свою функцию такой, как она есть, и вызовите ее с помощью 'onclick = 'imageInfo.call (this)''. – Amberlamps

2

Чтобы просто исправить код, вам нужно передать управление на яваскрипт функции:

<img src="./images/image1.jpg" width='100' height='100' alt='Sample image' onClick='imageInfo(this);'> 

<script> 
function imageInfo(control) 
{ 
    alert(control.src); 
} 
</script> 
+1

Кто бы ни занимался, это должно дать комментарий. это исправляет его проблему по его просьбе, и я даже предоставил jsfiddle. http://jsfiddle.net/LgLzh/24/ Вы, ребята, сосать. – ps2goat

+0

Что вы подразумеваете под знаком 'control'? Это ключевое слово? – Praveen

+1

Нет, это имя вашего параметра. onclick передает управление (это) в качестве параметра функции imageInfo. Внутри imageInfo ваш контроль будет теперь доступен с помощью элемента управления именем переменной. Вы можете установить это, как хотите; Я использую имена переменных и параметров, которые имеют смысл. «imgControl» также может работать. Независимо от того, что имеет отношение к вам и вашему приложению. – ps2goat

2

В вашем примере вы должны поместить щелкнул объект в качестве параметра для функции:

function imageInfo(img) 
{ 
    alert(img.src); 
} 
1

Поскольку вы помечено это как JQuery, это должно работать:

http://jsfiddle.net/LgLzh/20/

$(function() { 
    $('img').each(function() { 
     console.log($(this).attr('src')); 
    }); 
}); 

Или это, если вы хотите реагировать, когда на него нажимают: http://jsfiddle.net/LgLzh/26/

$(function() { 
    $('img').on('click', function() { 
     console.log($(this).attr('src')); 
    }); 
}); 
-1

проверить слежение г Js скрипку

http://jsfiddle.net/LgLzh/22/

$('img').filter(function(){ 
     alert($(this).attr('src')); 
    }); 

Является ли это то, что вы want..if вы не можете быть более конкретным?

+2

Вы должны предупредить об этом по событию click image –

5

С вашей скрипки,

function imageInfo(this) 
{ 
    alert('image'); 
    alert(this.src); 
} 

Это произошло из-за this является зарезервирован ключевым словом.

function imageInfo (e) 
{ 
    alert('image'); 
    alert(e.src); 
} 

Также onclick не onClick, чтобы знать причину проверить это SO answer

проверить это Fiddle

0

http://jsfiddle.net/LgLzh/25/

Из-за нескольких причин, вы должны определить функцию в окне площадь.

window.imageInfo = function (source) { 
    alert('image'); 
    alert(source); 
} 
+0

Могу я знать, в чем причина? – Hitesh

+0

Ур говорит правду, но может у объяснить это ?? – Hitesh

3

Вы всегда можете это сделать:

HTML

<img src="https://www.google.ca/images/srpr/logo4w.png" width='100' height='100' alt="Sample image"> 

JavaScript

$('img').click(function() { 
    window.alert($(this).attr('src')); 
}); 

http://jsfiddle.net/QB6Da/

+0

, поэтому вместо использования onclick я могу напрямую перейти на событие jquery click ... hmmm good idea !!! ... – Hitesh

1

Попробуйте это. Это будет помощь для вас

$('img').click(function() { 
     alert(this.src); 
}); 

Demo Here

+0

Здесь вы должны прикрепить код. – OneOfOne

+1

Я уже создал скрипку для него –

+0

Fiddle недостаточно. При прикреплении скрипки он бы показал сообщение ** «пожалуйста, добавьте свой код здесь» **. Это нехорошо, хорошая причина будет лучшей. – Praveen

1

Это поможет вам src каждого изображения щелкнул на этой странице. Для этого вам нужно jQuery.

$('img').on('click', function (event) { 
    console.log(event.target.src); 
}); 

http://jsfiddle.net/LgLzh/42/

1

Попробуйте

$('img').on('click',function(){ 
      alert($(this).attr('src')); 
     }); 
1

Использование onclick function всего в img tags не хороший метод, как вы бы кошмар, если вы должны были сделать небольшие изменения. Добавьте класс, а затем с помощью jquery вы можете заставить это работать. См. Следующее.

Использование class атрибута:

<img src="http://4.bp.blogspot.com/-uyvTMZ3dFPs/UKHsc_ZbysI/AAAAAAAACvo/QdVAlVBbUxE/s320/1hello.jpg" class="image"/><br> 
<img src="http://hearstcommerce.ca/customcontent/members/premium/sample.jpg" class="image" /><br> 
<img src="http://www.find-a-job-online.org/images/picture.gif" class="image"/> 

Сценарий:

$(".image").click(function(){ 
    var src = $(this).attr('src'); 
    alert("SRC = " + src); 
}); 

Fiddle: http://jsfiddle.net/yL5cf/6/

+0

!!!! wow !!!! это более полезно !!!! спасибо за идею – Hitesh

+0

@hitesh: да это ..;) –

0

Попробуйте

<img src="http://4.bp.blogspot.com/-uyvTMZ3dFPs/UKHsc_ZbysI/AAAAAAAACvo/QdVAlVBbUxE/s320/1hello.jpg" width='400' height='400' alt='Sample_image'> 

$(document).ready(function(){ 
    $('img').click(function(e){   
     alert($(this).attr('src')); 
    }); 
}); 

не забудьте в clude jquery, чтобы запустить это. Вот скрипка http://jsfiddle.net/LgLzh/44/

+1

Серьезно нам не нужен jQuery везде, ваниль хороша для простых вещей. –

+0

Вы можете использовать свой любимый. Именно так, мой код работает с jquery. – Surender

0

Это то, что вы можете сделать ...

$('img').bind('click',function(){ console.log($(this).attr('src')); });

+0

Зачем мне это связывать? – Hitesh

+0

На самом деле никаких особых причин. на, конечно, лучше. –

1
<img src="http://4.bp.blogspot.com/-uyvTMZ3dFPs/UKHsc_ZbysI/AAAAAAAACvo/QdVAlVBbUxE/s320/1hello.jpg" width='400' height='400' alt='Sample_image' class="img"> 

другие ответы короткие и правильно, но упаковывают вы хотите использовать JQuery ...

$(document).ready(function(){ 
    function imageInfo(img) 
     { 
      var src = $(img).attr("src"); 
      alert(src); 
     }; 
    $(".img").click(function(){ 
     imageInfo(this); 
    }); 
}); 

а также "это" зарезервированное ключевое слово.

Смежные вопросы