如何在JavaScript中访问特定的div?
我有一个plp页面,上面列出了一些项目。用户可以喜欢任何项目。 我的问题是,当用户最喜欢的一个项目,我想改变星型图标,它应该显示最喜欢的 以下是我的项目结构:如何在JavaScript中访问特定的div?,javascript,jquery,html,Javascript,Jquery,Html,我有一个plp页面,上面列出了一些项目。用户可以喜欢任何项目。 我的问题是,当用户最喜欢的一个项目,我想改变星型图标,它应该显示最喜欢的 以下是我的项目结构: <div class="product-tile-top"> <div class="product-tile-top-inner tile-wishlist"> <span role="button" class="wish-list-
<div class="product-tile-top">
<div class="product-tile-top-inner tile-wishlist">
<span role="button" class="wish-list-icon" id="grc398342">
<div class="btn btn-default btn-sm pdp-wishlist-btn">
<span>
<img class="favorite" src="/_ui/responsive/common/images/favorite.svg" height="17px;">
</span>
</div>
</span>
</div>
</div>
如何访问此图像?您可以像这样对jquery中传递的元素使用.find()
方法。我们为图像提供.find()
类名,然后更改图像的src
属性。在本例中,如果单击图标,它将变为星形
var newURL=”https://img.freepik.com/free-vector/start_53876-25533.jpg?size=338&ext=jpg";
功能fav(elem){
$(elem.find(“.favorite”).attr(“src”,newURL)
}
您可以对jquery中传递的元素使用.find()
方法,如下所示。我们为图像提供.find()
类名,然后更改图像的src
属性。在本例中,如果单击图标,它将变为星形
var newURL=”https://img.freepik.com/free-vector/start_53876-25533.jpg?size=338&ext=jpg";
功能fav(elem){
$(elem.find(“.favorite”).attr(“src”,newURL)
}
单击div的调用函数并按下div的id
。使用children
获取span子项并进行更改
功能a(id){
var ele=document.getElementById(id).children[0].children[0];
ele.style.color=“红色”;
ele.children[0].setAttribute('url',“www.xyz.com”)
console.log(ele.children[0].getAttribute('url'))
}
dd
单击div的调用函数并按下div的id
。使用children
获取span子项并进行更改
功能a(id){
var ele=document.getElementById(id).children[0].children[0];
ele.style.color=“红色”;
ele.children[0].setAttribute('url',“www.xyz.com”)
console.log(ele.children[0].getAttribute('url'))
}
dd
在返回成功时,ı如何在没有函数的情况下使用ajax调用。当ajax调用成功时,我必须更改img?@oerbas我在答案中添加了另一段代码,基本上你必须返回Span项的id谢谢你的帮助,但它没有运行。我又像你一样更新了我的代码,你能再帮我一次吗?@oerbas抱歉。我犯了一个错误。我会纠正它。如果没有函数,怎么能使用呢?因为返回成功时,使用ajax调用。当ajax调用成功时,我必须更改img?@oerbas我在答案中添加了另一段代码,基本上你必须返回Span项的id谢谢你的帮助,但它没有运行。我又像你一样更新了我的代码,你能再帮我一次吗?@oerbas抱歉。我犯了一个错误。我会纠正它。如果没有函数,怎么能使用呢?因为返回成功时,使用ajax调用。当ajax调用成功时,我必须更改img?ajax调用将在触发器上发生。我想它会在单击div时发生。在函数调用时获取div的id,在成功更改url时,ıimg src如何更改?我不知道什么时候使用ele.find()怎么可以不使用函数,因为返回成功时使用ajax调用。当ajax调用成功时,我必须更改img?ajax调用将在触发器上发生。我想它会在单击div时发生。在函数调用时获取div的id,在成功更改url时,ıimg src如何更改?当使用ele.find()时,我联系不到。你能告诉我ajax是否将项目设置为收藏夹,因为我没有看到“添加”按钮吗?你能告诉我ajax是否将项目设置为收藏夹,因为我没有看到“添加”按钮吗
<span role="button" class="wish-list-icon" id="grc398342">
<span>
<img class="favorite" src="/_ui/responsive/common/images/favorite.svg" height="17px;">
</span>
var newURL = "/_ui/responsive/common/images/favorite-red.svg";
function fav(elemId){
$("#elemId").find(".favorite").attr("src", newURL)
}
$('#addBtn').click(function() {
var listName = $('#listName').val();
var productCode = $('#productCode').val();
$('#notificationP').text('');
if (listName.trim() == '') {
$('#notificationP').text($('#nameValidate').val());
return;
}
$('.loading-overlay').show();
$.ajax({
type : "POST",
url : ACC.config.encodedContextPath + "/wishlist/add",
data : 'productCode=' + productCode + '&listName=' + listName,
success : function(loginPopup) {
$('.loading-overlay').hide();
if (loginPopup.code == '0' || loginPopup.code == '2') {
$('#notificationP').text($('#duplicate').val());
} else if (loginPopup.code == '1') {
$('#notificationP').text($('#add').val());
fav(productCode);
}
else if(loginPopup.code == '3'){
$('#notificationP').text($('#maxProductsError').val()+' '+loginPopup.errorCodeMeg+')');
}
else {
$('#notificationP').text($('#globleError').val());
}
},
error : function(error) {
$('.loading-overlay').hide();
$('#notificationP').text($('#globleError').val());
}
});
});