我正在编写一个需要知道所点击的div的位置的函数。
我想知道我是否可以将点击的对象的位置作为javascript变量?
这是代码。
HTML
<area shape="rect" coords="103, 0, 213, 25" href="#" onClick="swap3($(this),'product-details','product-specs');">
使用Javascript:
function swap3(currentDivId ,oldDivId, newDivId) {
var oldDiv = currentDivId.nextAll("div." + oldDivId);
var newDiv = currentDivId.nextAll("div." + newDivId);
oldDiv.style.display = "none";
newDiv.style.display = "block";
}
答案 0 :(得分:3)
this
指的是当前元素。
在jQuery中,当他们使用$()
来获取元素时,$(this)
返回jQuery等同于vanilla JS的this
。
<area shape="rect" coords="103, 0, 213, 25" href="#" onClick="swap3(this,'product-details','product-specs');">
答案 1 :(得分:0)
$()
会返回一个 DOM元素(就像您可以使用方法,属性等对象的对象)如果你为它设置一个变量,该变量必须正确地像jQuery-Object一样工作。但根据我的经验,有时候不要!我学习最好的方法是通过jQuery-selector($
)获取变量。您的代码是正确的,但如果您应用这些更改应该会更好:
function swap3(currentDivId ,oldDivId, newDivId) {
var oldDiv = $(currentDivId).nextAll("div." + oldDivId);
var newDiv = $(currentDivId).nextAll("div." + newDivId);
$(oldDiv).css({"display" : "none"});
$(newDiv).css({"display" : "block"});
}