gpt4 book ai didi

jquery 和创建样式,如何检查样式是否已经存在

转载 作者:行者123 更新时间:2023-11-28 10:57:36 25 4
gpt4 key购买 nike

大家好,我环顾四周,但似乎找不到我正在寻找的答案。

我有一个搜索页面,它进行 ajax 调用,返回 json 数据,然后根据返回的数据创建样式并将其附加到 DOM 部分。样式的创建工作正常,但如果进行新搜索,样式会重复,因此我的 $(#element).slidetoggle() 函数会重复,slidetoggle 会立即打开和关闭。

ypu 可以在这里查看页面:http://www.reelfilmlocations.co.uk/NEW%20Search/fullsearch_jq_keys.php

(用作测试数据豪恩斯洛,北伦敦和来自类别:墓地)如果进行两次相同的搜索,则结果的样式会重复,并且滑动切换行为也会重复。)

我的问题是如何检查样式是否已经存在。

创建样式的脚本如下:

function makeCSS(id){
var myUrl = 'getBoroughInfo.php';
$.ajax({
url: myUrl,
type: 'POST',
data: 'myID='+id,
dataType: 'json',
error: function(xhr, statusText, errorThrown){
// Work out what the error was and display the appropriate message
},
success: function(myData){
var items = myData.boroughs[0];
//console.log('borough: '+myData.boroughs);

$("<style type='text/css'> #link_"+items.Borough_ID+"{ color:"+items.color+"; font-weight:bold; float:left; margin-left: 10px; cursor: pointer; padding: 1px; border: 1px solid "+items.color+";} </style>").appendTo("head");
$("<style type='text/css'> #borough_"+items.Borough_ID+"{ color:"+items.color+"; font-weight:bold; } </style>").appendTo("head");
$("<style type='text/css'> #searchHead_"+items.Borough_ID+"{ color:#000000; font-weight:bold; background-color:"+items.color+"; opacity: 1.0; cursor: pointer;} </style>").appendTo("head");
//apply opacity
//$('#borough_'+items.Borough_ID).css({});
$('#borough_links').append('<div id="link_'+items.Borough_ID+'">'+items.Borough_Name+'</div>');
$('#results').append('<div id="searchHead_'+items.Borough_ID+'">'+items.Borough_Name+'</div>');
$('#results').append('<div id="borough_'+items.Borough_ID+'"></div>');
$('#link_'+items.Borough_ID).live('click', function(){
$('#borough_'+items.Borough_ID).slideToggle('slow', function() {
// Animation complete.
});
});
$('#searchHead_'+items.Borough_ID).live('click', function(){
$('#borough_'+items.Borough_ID).slideToggle('slow', function() {
// Animation complete.
});
});
}
});
};

这是创建我的一种样式的代码行:

$("<style type='text/css'> #link_"+items.Borough_ID+"{ color:"+items.color+"; font-weight:bold; float:left; margin-left: 10px;  cursor: pointer; padding: 1px; border: 1px solid "+items.color+";} </style>").appendTo("head");

那么我如何检查它是否已经存在于文档中????我认为一个简单的 if 语句就足以满足我的需求。

最佳答案

您可以使用 :contains 选择器。例如:

if($("style:contains('#link_" + items.Borough_ID + "')").length < 1)
{
$("<style type='text/css'> #link_"+items.Borough_ID+"{ color:"+items.color+"; font-weight:bold; float:left; margin-left: 10px; cursor: pointer; padding: 1px; border: 1px solid "+items.color+";} </style>").appendTo("head");
}

关于jquery 和创建样式,如何检查样式是否已经存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5032447/

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