2015-05-24 3 views
1

Ниже приведен код моего javascript-файла. Script.jsсвязать событие click для привязки тегов на моей странице

$(document).ready(function(){ 
$("#").click(function(){ 
    alert("Hello!"); 
}); 

И вот мой код php.

<html> 
    <head> 
Some codes are here 
    </head> 
    <body> 
    Some php codes are here to get value from database 
    <script src="script.js"></script> 
     <span><a href="#" class="vote" id="<?php echo $cid; ?>" name="up"><i class="fa fa-thumbs-up"></i></a> <?php echo $up; ?> </span> 

      <span><a href="#" class="vote" id="<?php echo $cid; ?>" name="down"><i class="fa fa-thumbs-down"></i></a> <?php echo $down; ?> </span> 

     <span><a href="#" class="vote" id="<?php echo $cid; ?>" name="favorite"><i class="fa fa-star-o"></i></a> <?php echo $fav; ?> </span> 
     </body> 
    </html>        

Я вызываю файл сценария в теле из-за моего дизайна. Я не могу назвать это в разделе главы.

Проблема возникает, когда я нажимаю на ссылку выше, соответствующую # (вверх, вниз, fav). Мне требуется индексный файл. Я тестирую Hello в поле предупреждения. Но это не работает.

Любой совет, что мне не хватает.

+0

Изменить '$ (" # "). Click (' to '$ (" a "). Click ('. Просто # не является селектором. –

ответ

1

# в $("#") средства и id должны следовать. Например, если ваш идентификатор элемента был «myElement», вы должны написать $("#myElement").

Но, так как вы не знаете, что ваши номера adead времени, идентификатор использовать vote класс у вас уже есть, а не как $(".vote").click....

$(document).ready(function() { 
 
     $(".vote").click(function(event) { 
 
     event.preventDefault(); 
 
     alert("Hello! My id is: " + this.id); 
 
     }); 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<span><a href="#" class="vote" id="someId1" name="up"><i class="fa fa-thumbs-up"></i>Some sontent</a></span> 
 

 
<span><a href="#" class="vote" id="someId2" name="down"><i class="fa fa-thumbs-down"></i>Some sontent</a> </span> 
 

 
<span><a href="#" class="vote" id="someId3" name="favorite"><i class="fa fa-star-o"></i>Some sontent </a> </span>

+1

Спасибо. У меня появилась идея. В вашем ответе все мои сомнения. – Ironic

+0

У меня есть одно сомнение. . выше код работает нормально, но после того, как я нажму OK, нажмите «Оповещение». Он перенаправляется на индексный файл. – Ironic

+1

Мой плохой, я забыл 'event.preventDefault();', который необходим, потому что элемент является ссылкой, а поведение по умолчанию для ссылки - это перейти к 'href' url – DelightedD0D

7

$("#") не действительный селектор. Если вы хотите зафиксировать клики на якорях, это должно быть $('a');

+0

Спасибо, Рэй. Он работает очень хорошо. – Ironic

+0

@ 404 Это будет работать, но имейте в виду, что на практике вы, вероятно, захотите напрямую ориентировать элементы. Маловероятно, что вы хотите ВСЕ крепления на странице – DelightedD0D

1

Чтобы получить все привязывающие метки, вы должны использовать $ ("a") вместо $ ("#"). Используйте $ ("# abc"), чтобы получить тег с идентификатором abc. Используйте $ (". Def"), чтобы получить теги с классом def.

+0

Спасибо тонну. Отлично работает. – Ironic

1

Используйте имя атр на селекторе и позвонить непосредственно функции, которые вы хотите ... $ ('а') является настолько общим

пытаются использовать

$("a[name='up']").on('click',function(){ 
    alert("Clicked up!"); 
}); 

$("a[name='down']").on('click',function(){ 
    alert("Clicked down!"); 
}); 

$("a[name='favorite']").on('click',function(){ 
    alert("Clicked down!"); 
}); 
+0

Спасибо за ваш ответ, – Ironic

+0

Ответ DelightedD0D более подробно. Я проголосую. – Ironic

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