如何从 classname onclick 获取位置?
How to get the position from classname onclick?
我想获取标签在点击事件中的位置。例如:
<label class="labelClass" onclick="getPosition()"> label1 </label>//return position 1
<label class="labelClass" onclick="getPosition()"> label2 </label>//return position 2
<label class="labelClass" onclick="getPosition()"> label3 </label>//return position 3 ...etc
<label class="labelClass" onclick="getPosition()"> label4 </label>
<label class="labelClass" onclick="getPosition()"> label5 </label>
function getPosition() {
//pseudocode to get position
var label = document.getElementsByClassName("labelClass");
alert(label.position) //something like this;
}
试试这个:
将onclick="getPosition()"改为onclick="getPosition(this)"
在函数 getPosition:
-- 将函数 getPosition() 更改为函数 getPosition(obj)
-- 使用alert(obj.style.position)
您必须将 HTMLCollection
转换为 Array
以便您可以从列表中找到元素的索引。希望这对你有用..
<label class="labelClass" onclick="getPosition(this)" > label1 </label>//return position 0
<label class="labelClass" onclick="getPosition(this)" > label2 </label>//return position 1
<label class="labelClass" onclick="getPosition(this)" > label3 </label>//return position 2 ...etc
<label class="labelClass" onclick="getPosition(this)"> label4 </label>
<label class="labelClass" onclick="getPosition(this)"> label5 </label>
function getPosition(label)
{
var list=document.getElementsByClassName("labelClass");
list = [].slice.call(list);
alert(list.indexOf(label));
}
这是jsfiddle
这可能会有帮助
function getPosition()
{
var p = $(this);
var position = p.position();
$( ".result" ).text( "left: " + position.left + ", top: " + position.top );
}
我想获取标签在点击事件中的位置。例如:
<label class="labelClass" onclick="getPosition()"> label1 </label>//return position 1
<label class="labelClass" onclick="getPosition()"> label2 </label>//return position 2
<label class="labelClass" onclick="getPosition()"> label3 </label>//return position 3 ...etc
<label class="labelClass" onclick="getPosition()"> label4 </label>
<label class="labelClass" onclick="getPosition()"> label5 </label>
function getPosition() {
//pseudocode to get position
var label = document.getElementsByClassName("labelClass");
alert(label.position) //something like this;
}
试试这个:
将onclick="getPosition()"改为onclick="getPosition(this)"
在函数 getPosition:
-- 将函数 getPosition() 更改为函数 getPosition(obj)
-- 使用
alert(obj.style.position)
您必须将 HTMLCollection
转换为 Array
以便您可以从列表中找到元素的索引。希望这对你有用..
<label class="labelClass" onclick="getPosition(this)" > label1 </label>//return position 0
<label class="labelClass" onclick="getPosition(this)" > label2 </label>//return position 1
<label class="labelClass" onclick="getPosition(this)" > label3 </label>//return position 2 ...etc
<label class="labelClass" onclick="getPosition(this)"> label4 </label>
<label class="labelClass" onclick="getPosition(this)"> label5 </label>
function getPosition(label)
{
var list=document.getElementsByClassName("labelClass");
list = [].slice.call(list);
alert(list.indexOf(label));
}
这是jsfiddle
这可能会有帮助
function getPosition()
{
var p = $(this);
var position = p.position();
$( ".result" ).text( "left: " + position.left + ", top: " + position.top );
}