Добавьте изображение в div, используя jquery

0

У меня есть липкое меню/панель с плавающей точкой, когда пользователь прокручивает страницу вниз... с помощью jQuery Я добавляю класс floater-bar в # menu-wrapper.

Моя цель состоит в том, чтобы добавить изображение в привязку в то же время, добавив класс floater-bar, чтобы логотип также находился на панели floater.

if ($(window).scrollTop() > $header_top_pos) {
  $("#menu-wrapper").addClass("floater-bar");
} else {
  $("#menu-wrapper").removeClass("floater-bar");
}

Я пробовал следующее:

$("#menu-wrapper").append("<a href="#"><img src="image" /></a>");

Пробовал.add и.prepend также

Это приводит к сбою всего сценария, поскольку класс float-bar больше не добавляется в меню.

  • 2
    Кавычки прерывают ваше заявление добавления. Используйте одинарные кавычки в строке с двойными кавычками или экранируйте двойные кавычки с помощью \" .

2 ответа

5
Лучший ответ

Сделайте это вместо этого:

$("#menu-wrapper").append("<a href='#'><img src='image' /></a>");

Вы используете " для запуска и завершения append, но затем с помощью этого также назначьте href и src, который отменяет строку.

Поэтому используйте только " для начала и конца, а если вам нужны кавычки внутри, используйте ' или избежите двойных кавычек, используя \".

Если вы хотите выполнить конкатенацию строк (хотя не то, что вы просили, может пригодиться позже), вы делаете что-то вроде этого:

$("#menu-wrapper").append("<a href='"+url+"'><img src='"+image+"' /></a>");

image и url будут переменными. + используется для конкатенации строки, что дает вам доступ к использованию переменных внутри строки.

  • 3
    Кроме того, вы можете избежать двойных кавычек \ ", если вы большой поклонник двойных кавычек
  • 1
    Просто сказал, что, как вы прокомментировали! Спасибо @Huangism
Показать ещё 2 комментария
2

попробуй это

var anchor = $("a").attr("href","#");
var img = $("img").attr("src","img_source");
anchor.append(img);
$("#menu-wrapper").append(anchor);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню