Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在href标记中onMouseOver时,如何在jQuery中分配动态元素id?_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 在href标记中onMouseOver时,如何在jQuery中分配动态元素id?

Javascript 在href标记中onMouseOver时,如何在jQuery中分配动态元素id?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有3个超链接和DIV随机生成的PHP脚本与动态ID。比如说, <a href="http://www.example.com/find.php?id=xy1" id="xy1" onMouseover="analyze('final', 'xy1')">xy1</a> <a href="http://www.example.com/find.php?id=ay2" id="ay2" onMouseover="analyze('final', 'ay2')">

我有3个超链接和DIV随机生成的PHP脚本与动态ID。比如说,

<a href="http://www.example.com/find.php?id=xy1" id="xy1" onMouseover="analyze('final', 'xy1')">xy1</a>
<a href="http://www.example.com/find.php?id=ay2" id="ay2" onMouseover="analyze('final', 'ay2')">ay2</a>
<a href="http://www.example.com/find.php?id=am3" id="am3" onMouseover="analyze('final', 'am3')">am3</a>

<div id="xy1"></div>
<div id="ay2"></div>
<div id="am3"></div>
function analyze(db, target) {
  jQuery.ajax({
    type: "GET",
    url:  "toThumb.php",
    data: 'db=' + db + '&id=' + target,
    success: function(output){ $("#"+target).html(output); }
  });
}
这里,必须根据mouseover事件自动分配元素id
#xy1
。类似于xy1作为变量名的值。可能在下一次的
onMouseover
事件中将是ay2am3

我试图设置
$(“#”+target).html(输出)它失败了。。。如果我单独使用
$(“#xy1”).html(输出)进行测试
$(“#ay2”).html(输出)
$(“#am3”).html(输出)工作正常

我的编码方式错了吗?或者,我是否可以使用
而不是传递参数?

您可以使用

在html中,必须像下面这样在数据目标属性中传递id

示例:-

<a href="http://www.example.com/find.php?id=xy1" data-target="xy1" onMouseover="analyze(this)">xy1</a>
<a href="http://www.example.com/find.php?id=ay2" data-target="ay2" onMouseover="analyze(this)">ay2</a>
<a href="http://www.example.com/find.php?id=am3" data-target="am3" onMouseover="analyze(this)">am3</a>

<div id="xy1"></div>
<div id="ay2"></div>
<div id="am3"></div>
你可以用

在html中,必须像下面这样在数据目标属性中传递id

示例:-

<a href="http://www.example.com/find.php?id=xy1" data-target="xy1" onMouseover="analyze(this)">xy1</a>
<a href="http://www.example.com/find.php?id=ay2" data-target="ay2" onMouseover="analyze(this)">ay2</a>
<a href="http://www.example.com/find.php?id=am3" data-target="am3" onMouseover="analyze(this)">am3</a>

<div id="xy1"></div>
<div id="ay2"></div>
<div id="am3"></div>

首先,id在DOM中应该是唯一的。您可以使用下面的类来代替它

请检查下面的工作演示

功能分析(ele){
$(“+ele.id).html(ele.innerHTML);
}

首先,id在DOM中应该是唯一的。您可以使用下面的类来代替它

请检查下面的工作演示

功能分析(ele){
$(“+ele.id).html(ele.innerHTML);
}

问题是由于文档中的ID重复。根据:

id=id

元素的唯一标识符。 文档中不能有多个具有相同id值的元素

此外,在不同的容器中显示这些项也没有意义,因为您可能也只是用PHP生成它们

函数分析(节点){
$('#container').html(node.innerHTML/*whatever*/);
}

(空)

问题是由于文档中的ID重复。根据:

id=id

元素的唯一标识符。 文档中不能有多个具有相同id值的元素

此外,在不同的容器中显示这些项也没有意义,因为您可能也只是用PHP生成它们

函数分析(节点){
$('#container').html(node.innerHTML/*whatever*/);
}

(空)
多亏了。我在编码上做了三个改变

(1) 已删除
id

<a href="http://www.example.com/find.php?id=xy1" onMouseover="analyze('final', 'xy1')">xy1</a>
<a href="http://www.example.com/find.php?id=ay2" onMouseover="analyze('final', 'ay2')">ay2</a>
<a href="http://www.example.com/find.php?id=am3" onMouseover="analyze('final', 'am3')">am3</a>
(3) 更改了
$(“#”+目标).html(输出)
$(“+target).html(输出)

现在问题解决了…

多亏了。我在编码上做了三个改变

(1) 已删除
id

<a href="http://www.example.com/find.php?id=xy1" onMouseover="analyze('final', 'xy1')">xy1</a>
<a href="http://www.example.com/find.php?id=ay2" onMouseover="analyze('final', 'ay2')">ay2</a>
<a href="http://www.example.com/find.php?id=am3" onMouseover="analyze('final', 'am3')">am3</a>
(3) 更改了
$(“#”+目标).html(输出)
$(“+target).html(输出)


现在问题解决了…

不要使用相同的id两次。不要使用相同的id两次。行
$(“#”+getTargetId).html(数据)不会更改为(例如)
$(“#xy1”).html(数据)。它保持不变不会更改为(例如)
$(“#xy1”).html(数据)。它保持不变。我的目标不是捕获ID。我只是试图在特定的DIV中显示文本。@ak SE,嗯,我没有提到捕获ID。事实上,您不需要捕获ID。嗯,我的答案包含一个“在特定DIV中显示文本”的示例代码。您可以很容易地用另一个值替换节点ID。对不起,我的话。我不是那个意思。实际上,我想分配一个动态id,比如
$(“#xy1”).html(输出….)。在这里,id
xy1
必须自动更改。输出将基于Ajax显示。我刚才已经详细阐述了我的问题。我的目的不是捕获ID。我只是试图在特定的DIV中显示文本。@ak SE,嗯,我没有提到捕获ID。事实上,您不需要捕获ID。嗯,我的答案包含一个“在特定DIV中显示文本”的示例代码。您可以很容易地用另一个值替换节点ID。对不起,我的话。我不是那个意思。实际上,我想分配一个动态id,比如
$(“#xy1”).html(输出….)。在这里,id
xy1
必须自动更改。输出将基于Ajax显示。我刚才已经详细阐述了我的问题,谢谢。您的代码很有趣,并且有一定的实用性。但是,并不像我预期的那样,谢谢。您的代码很有趣,并且有一定的实用性。但是,这并不像我预期的那样有效。