gpt4 book ai didi

javascript - jquery 奇怪的行为

转载 作者:行者123 更新时间:2023-11-30 09:04:58 25 4
gpt4 key购买 nike


我有以下用于初始化小部件的功能。

jQuery.fn.initPortlet = function( parent_component ,header , component ){
var o = $(this[0])
this.addClass("ui-widget ui-widget-content ui-corner-all")
.find(header)
.addClass("headertitle")
.addClass("align_center")
.addClass("defaultheadercolor")
.prepend('<span class="ui-icon ui-icon-minusthick"></span>')
.end()
.find(component);
};

html:

<div class="div_portlet" id="LINEITEM_HEADER" >
<div class="div_header"><%=hu.getFrameURL(82,83)%> Line Item Header Information</div>
<div class="div_content" id="LINEITEM_HEADER_CONTENT">

</div>
</div>

它的作用是在小部件的左上角附加一个减号图标。我有一些 ajax 调用,因为这个函数被多次调用并多次附加一个减号图标。

我正在尝试以这种方式重写此函数,以便调用它的次数,仅将一个减号图标附加到标题中。
我尝试了休闲方法,但没有用。

var $minusthick = $('span.ui-icon ui-icon-minusthick');
$('div.div_header').find($minusthick).remove().prepend('<span class="ui-icon ui-icon-minusthick"></span>').end();

我正在尝试的是删除所有具有类名 span.ui-icon ui-icon-minusthick 的跨度,最后附加一个减号图标,但它对我不起作用。

任何有助于我实现目标的帮助或建议将不胜感激。
提前致谢!!!!!!

编辑--

下面给出的解决方案对于一个调用来说工作正常,但是如果我用相同的参数再次调用这个函数它会失败而且它应该是,不幸的是我不得不多次调用这个函数......我该怎么做......我尝试了很多东西,但它在某个地方失败了:(:(:(
请建议我一些方法。
再次感谢....

最佳答案

您可以使用 jQuery.data()跟踪它是否已经被添加:

jQuery.fn.initPortlet = function(parent_component, header, component){
var o = $(this[0]);
if ( ! o.data('widgeted')) {
// .data('widgeted') will return NULL before it is set.
// So the first iteration of the function will execute
// this code block.
this.addClass("ui-widget ui-widget-content ui-corner-all")
.find(header)
.addClass("headertitle align_center defaultheadercolor")
.prepend('<span class="ui-icon ui-icon-minusthick"></span>')
.end()
.find(component);
}
// We set widgeted to true. Any further calls to this function
// (on this DOM node) will not execute the code block above.
o.data('widgeted', true);
};

关于javascript - jquery 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5897728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com