好的,这是我的代码>>
的一部分 ERROR in ./node_modules/moip-sdk-node/dist/client/api.js Module not
found: Error: Can't resolve '../../package' in
'C:\dev\allclinics\node_modules\moip-sdk-node\dist\client' ERROR in
./node_modules/moip-sdk-node/dist/client/api_assinaturas.js
我想使用javascript来获取被点击的实际div,这个onclick事件shold添加到购物车div.p(class =“storeMenuTwoBodyText”)。textContent(类似我的意思)并放在购物车上已经完成了。
这是我在这里的第一个问题,对不起,如果我必须更具体,你们可以评论下来,我编辑帖子,我将放置我已经在这里的javascript代码>>
<div class="storeMenuTwoItem" onclick="addToCart()">
<img src="resources/img/si/SI_EmpireDesodorante.jpg" class="storeMenuBodyTwoImg" />
<p class="storeMenuTwoBodyText">Empire Desodo.</p>
<p class="storeMenuTwoBodyPrice">23 R$</p>
</div>
<div class="storeMenuTwoItem" onclick="addToCart()">
<img src="resources/img/si/SI_EspumaBarbear.jpg" class="storeMenuBodyTwoImg" />
<p class="storeMenuTwoBodyText">Espuma Barbear</p>
<p class="storeMenuTwoBodyPrice">22 R$</p>
</div>
<div class="storeMenuTwoItem" onclick="addToCart()">
<img src="resources/img/si/SI_ShampooAntCaspa.jpg" class="storeMenuBodyTwoImg" />
<p class="storeMenuTwoBodyText">Shampoo AC</p>
<p class="storeMenuTwoBodyPrice">33 R$</p>
</div>
啊,是的,我已经将var和所有内容都设置好了。
答案 0 :(得分:1)
通过单击调用时,函数的上下文包含一个名为event
的变量,该变量包含有关调用它的click事件的信息。特别是,event.target
将为您提供被点击的元素。
function addToCart() {
console.log(event.target);
}
<div class="storeMenuTwoItem" onclick="addToCart()">
<img src="resources/img/si/SI_EmpireDesodorante.jpg" class="storeMenuBodyTwoImg" />
<p class="storeMenuTwoBodyText">Empire Desodo.</p>
<p class="storeMenuTwoBodyPrice">23 R$</p>
</div>
<div class="storeMenuTwoItem" onclick="addToCart()">
<img src="resources/img/si/SI_EspumaBarbear.jpg" class="storeMenuBodyTwoImg" />
<p class="storeMenuTwoBodyText">Espuma Barbear</p>
<p class="storeMenuTwoBodyPrice">22 R$</p>
</div>
<div class="storeMenuTwoItem" onclick="addToCart()">
<img src="resources/img/si/SI_ShampooAntCaspa.jpg" class="storeMenuBodyTwoImg" />
<p class="storeMenuTwoBodyText">Shampoo AC</p>
<p class="storeMenuTwoBodyPrice">33 R$</p>
</div>
答案 1 :(得分:0)
您可以将点击的div
元素作为this
传递给HTML属性:
<div class="storeMenuTwoItem" onclick="addToCart(this)">
您可以通过p
函数获取querySelector
来自其中的特定类:
function addToCart(element) {
storeTwoItemInfo.style.display = "block";
storeTwoItemHeader.textContent = element.querySelector('.storeMenuTwoBodyText').textContent;
}
答案 2 :(得分:0)
querySelector是你的朋友
var div = document.querySelector('div.storeMenuTwoItem');
var p= div.querySelector('p.storeMenuTwoBodyText');
答案 3 :(得分:0)
从event.target
属性获取点击元素。它可以是div本身或其中的任何元素。通过类名检查它是哪个元素,如果它不是div元素,则通过parentElement
属性获取div元素。然后从这个div元素中,您可以按类名访问它的任何元素。
function addToCart() {
console.log(event.target.className);
var divElement = event.target;
if(event.target.className !== 'storeMenuTwoItem'){
divElement = event.target.parentElement;
}
console.log(divElement.className);
var pElement =divElement.getElementsByClassName('storeMenuTwoBodyText').length > 0 ? divElement.getElementsByClassName('storeMenuTwoBodyText')[0] : null ;
if(pElement){
console.log(pElement.textContent);
//alert(pElement.textContent);
storeTwoItemInfo.style.display = "block";
storeTwoItemHeader.textContent = pElement.textContent;
}
}
答案 4 :(得分:0)
伙计们我找到了一种方法,我把你所有的想法和混合了一些东西&gt;&gt; `function addToCart(){ storeTwoItemInfo.style.display =“block”;
storeTwoModalPhoto.src = event.target.querySelector(".storeMenuBodyTwoImg").src;
storeTwoModalHeader.innerHTML = event.target.querySelector(".storeMenuTwoBodyText").innerHTML;
storeTwoModalPrice.innerHTML = event.target.querySelector(".storeMenuTwoBodyPrice").innerHTML;
storeTwoModalText.innerHTML = event.target.querySelector(".storeMenuBodyTwoImg").alt;
}`
感谢您的帮助,请小心。