Ich versuche, eine CSS-Klasse zu li-Tag hinzuzufügen, die nach dem Ausüben von jQuery ajax call an html angehängt wurde. Das Ziel besteht darin, dem angehängten li-Element einen linken Rand hinzuzufügen, wenn sich der Mauszeiger über diesem Element befindet, und den Rand zu entfernen, wenn der Mauszeiger das li-Element verlässt. Der Code wird jedoch nicht ausgeführt, und dem li-Tag wird kein Rahmen hinzugefügt.Hinzufügen von Klassen zu angehängten Elementen
Meine jQuery:
$(document).ready(function() {
$("#searchButton").on('click', function() {
var searchValue = $('.form-control').val();
var urlVar = "https://en.wikipedia.org/w/api.php?action=opensearch&search=" + searchValue + "&format=json&callback=?";
$.ajax({
type: "GET",
url: urlVar,
contentType: "json",
async: false,
dataType: "json",
success: function(searchData) {
$('#output').html(" ");
for (var i = 0; i < searchData[1].length; i++) {
$('#output').prepend(searchData[1][i] + '<li id="listItems"><a href=' + searchData[3][i] + '>' + searchData[2][i] + '</a></li>');
$('#output a').attr('target', '_blank')
}
},
error: function() {
alert("Something is off, man!!!")
}
});
});
$('#listItems').mouseenter(function() {
$(this).addClass('listFormat');
});
$('#listItems').mouseleave(function() {
$(this).removeClass('listFormat');
});
});
Meine CSS:
listFormat {
border-left: 5px black solid;
}
einfach wirklich nicht sicher, wie dieses Problem zu beheben.
Vielen Dank.
Erstens, warum fügen Sie nicht einfach die Klasse beim Anhängen des Elements, und verwenden Sie richtige CSS: 'listFormat: Hover'? – junkfoodjunkie
haben Sie versucht, das nur mit CSS hinzuzufügen? – Dkouk
#listItems li: erstes Kind {border-left: 1px solid red; } –