2015-09-24 2 views
0

Я передал свою ссылку id, где, если я нажму ссылку, я хочу, чтобы мой javascript настраивал фоновое изображение. Я сделал JS-скрипку простой версии того, что я хочу здесь:Javascript - возникли проблемы с выбором идентификатора

https://jsfiddle.net/qp8d390b/

<body background="http://www.blueskiescareers.co.uk/wp-content/uploads/2014/05/blue-sky-clouds.jpg"> 
    <li> 
     <a id = "attempt1" href="#top">SNOOPY1</a> 
    </li> 
    <li> 
     <a>SNOOPY2</a> 
    </li> 
    <li> 
     <a>SNOOPY2</a> 
    </li> 

    <div id= "#top">TOP PART </div> 
</body> 
$(document).ready(function() { 
    $("a[id='attempt1']").click(function(e) { 
     e.preventDefault(); 
     alert('works'); 
     document.body.background = "https://upload.wikimedia.org/wikipedia/commons/0/02/Fried_egg,_sunny_side_up.jpg"; 
    }); 
}); 

Я новичок в выборе с помощью JavaScript. Любая помощь будет оценена!

+0

Вот JQuery шпаргалки, которая может помочь вам. http://oscarotero.com/jquery/. Как сказал Рори, jQuery использует селекторы CSS. Таким образом, элементы выбираются только их именем $ ('a') для ссылок. Элементы с идентификатором выбираются с # sign $ ('# попытка1') для любого элемента с идентификатором и идентификатором try1. $ ('a # попытка1') для тега привязки с идентификатором try1. $ ('. class') для элемента с классом класса. и т. д. –

+0

не этот '$ (document) .ready (function()' должен быть этим 'jQuery (document) .ready (function ($)'? – KeepMove

ответ

1

пытаются использовать $("#attempt1")

использовать #, чтобы получить какой-либо идентификатор в HTML

1

Во-первых, ваш HTML является недействительным; li должен быть либо ul, либо ol, а все элементы a должны иметь либо атрибут name, либо href.

Во-вторых, jQuery использует правила CSS, поэтому для выбора по id $('#attempt1').

И наконец, чтобы изменить свойство CSS background на изображение, строка URL должна быть обернута в url(). Попробуйте это:

$(document).ready(function() { 
    $("#attempt1").click(function(e) { 
     e.preventDefault(); 
     $('body').css('background', 'url("https://upload.wikimedia.org/wikipedia/commons/0/02/Fried_egg,_sunny_side_up.jpg")'); 
    }); 
}); 
0

Вы должны использовать id-selector в этом случае

https://api.jquery.com/id-selector/

$("#attempt1") 

Селектор вы использовали, который attribute selector больше используется в входов, чем в ссылках (a элементы)

https://api.jquery.com/attribute-equals-selector/

Вы можете найти более подробную информацию о JQuery селекторах в

https://api.jquery.com/category/selectors/

Надеется, что это помогает

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