Я пытаюсь «выделить» определенный div.
Вот мой HTML-код
<!DOCTYPE html> <html> <head> <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> <style type="text/css">div { margin: 0px; width: 300px; height: 80px; background: #FFF; border: 1px solid black; position: relative; }</style> <script> $(document).ready(function() { $("a").click(function () { $("div").effect("highlight", {color:"#FF0000"}, 3000); }); }); </script> </head> <body> <a href="#id_1"><b>id_1</b></a> <br/> <a href="#id_2"><b>id_2</b></a> <br/><br/><br/><br/> <div id="id_1"><h2>id_1 - <a class="altlink" href="#top" name="id_1" id="id_1">Top</a></h2></div> <div id="id_2"><h2>id_2 - <a class="altlink" href="#top" name="id_2" id="id_2">Top</a></h2></div> </body> </html>
Когда я нажимаю на элемент a с помощью href #id_1как сделать так, чтобы он выделил элемент <div id="id_1">?
a
#id_1
<div id="id_1">
Спасибо!
Попробуйте:
$('a[href^="#id"]').on('click', function() { var sHref = this.href.split('/'); $(sHref[sHref.length - 1]).effect("highlight", { color: "#FF0000" }, 3000); });
Fiddle: http://jsfiddle.net/maniator/4PgC6/
Примечание: : Если используется jQuery <1.7, выполните: </p>
$('a[href^="#id"]').click(function() { var sHref = this.href.split('/'); $(sHref[sHref.length - 1]).effect("highlight", { color: "#FF0000" }, 3000); });
Скрипка: http://jsfiddle.net/maniator/4PgC6/9/
$ (документ) .ready (function () {$ ("a # id_1"). Click (function () { $ ("div # id_1"). Effect ("highlight",{color: "# FF0000"}, 3000); вернуть false;}); $ ("a # id_2"). click (function () { $ ("div # id_2"). effect ("highlight"), {color: "# 0000FF"}, 3000); вернуть false;});}); , а HTML-код будет иметь тег "A", который имеет вид [code]
$ (документ) .ready (function () {$ ("a # id_1"). Click (function () { $ ("div # id_1"). Effect ("highlight",{color: "# FF0000"}, 3000); вернуть false;}); $ ("a # id_2"). click (function () { $ ("div # id_2"). effect ("highlight"), {color: "# 0000FF"}, 3000); вернуть false;});});
, а HTML-код будет иметь тег "A", который имеет вид [code]
a href = "#" id = "id1"
a href = "#" id = "id2"
вам нужно использовать вот так:
$(document).ready(function() { $("a").click(function () { $(this).parent().parent().effect("highlight", {color:"#FF0000"}, 3000); }); });
РЕДАКТИРОВАТЬ: исправил ошибку, поставил второй вызов .parent ()
Попробуйте это:
$('a').click(function() { var selector = $(this).attr('href'); // Highlight div with whatever CSS you like $(selector).effect("highlight", {color:"#FF0000"}, 3000); }
При этом используется атрибут href ссылки в качестве селектора для строки .effect().
href
.effect()