【发布时间】:2023-03-07 04:48:01
【问题描述】:
我在使用 Ajax 脚本时遇到了一些问题,该脚本禁用了我的 jQuery 点击事件。
以下代码在没有 AJAX 事件的情况下工作:
$(document).ready(function() {
$('a.showtabinfos').click(function() {
$('div.infos').removeClass("showtab").addClass("hidetab");
$(this).parent().find('div.infos').removeClass("hidetab").addClass("showtab");
});
});
所以我在 Jquery 常见问题解答 中发现:
但不幸的是,我不是 JavaScript 开发人员,我无法转换我的 使用“事件委托”的 jQuery 事件。 有人可以帮我让我的活动看起来像这样:
$('#mydiv').click(function(e) {
if($(e.target).is('a'))
{
fn.call(e.target,e);
}
});
$('#mydiv').load('my.html');
我尝试了另一种方法来解决我的问题。事实上,我想做的只是通过更改类在点击时打开div。
HTML结构:
-- div
------ a.showtabinfos
------ div.infos.hidetab ( <div class='infos hidetab' ... </div> )
-- /div
当我点击a.showtabinfos 时,我希望div.infos.hidetab 变成div.infos.showtab,所以我尝试在不使用jQuery 的情况下执行此操作,但只使用JavaScript。
我在网上找到了一个帮助我改课的功能:
function addClass(_element, _value)
{
try
{
var oReg = new RegExp("^([\s]*)" + _value + "$");
if(!_element.className)
{
_element.className = _value;
}
else
{
var bTest = oReg.test(_element.className);
if(bTest)
{
_element.className = _element.className.replace(_value, "");
}
else
{
var newClassName;
newClassName = _element.className;
newClassName += " ";
newClassName += _value;
_element.className = newClassName;
}
}
}
catch(e)
{
}
}
我尝试添加这样的链接:
<a class="showtabinfos" tabindex="1" id="imagetab-<?php the_ID(); ?>" href="Javascript: ;" onclick="addClass(this.parentNode.getElementsByClassName('infos'),'showtab');">CLICK HERE</a>
有人可以帮助我解决我的问题的第一种或第二种方法吗?
如果您需要更多信息来回答我,请访问http://www.tom-portfolio.fr/demos/portfolio/category/portfolio/ 看看我在做什么。
我只想改类名<div class"infos hidetab"> to <div class="infos showtab">
【问题讨论】: