[英]If div contains a span with a class based on parameter
我試圖創建一個簡單的函數,該函數創建一個span,其類等於傳遞給該函數的任何類。 這些跨度填充在父div內。 我還想確保,一旦添加了一個范圍,就不會使用該id / class添加另一個范圍,除非我的multiSearchEnabled
布爾值為true。
這是我的一些代碼
function createBadge(badge_type) {
var badge_parent_div = $("#badge-column-div");
var badge = "<span class='badge-text " + badge_type + "'>" + badge_type + "</span>";
if (!$(badge_parent_div.find("span").hasClass(badge_type))) {
badge_parent_div.append(badge);
} else {
if (multiSearchEnabled) {
badge_parent_div.append(badge); // Add another Badge, since search contains multiples
}
}
}
但是,這似乎不起作用,該函數將在onKeyUp
上運行,因此這就是為什么我需要檢測這種類型的跨度是否已經存在,所以我不重復它。
function createBadge(badge_type) {
var badge = "<span class='" + badge_type + "'>" + badge_type + "</span>";
var bHasBadge = $("#badge-column-div").has('.' + badge_type);
if (bHasBadge == false || (bHasBadge && multiSearchEnabled == true))
{
// add it
$("#badge-column-div").append(badge);
}
}
但是,使用以下代碼,一無所獲。 我需要它首先添加一個徽章,然后只有在multiSearchEnabled布爾值為true時才能添加多個徽章。
has()檢查與選擇器匹配的子控件。
function createBadge(sBadgeType)
{
var oBadgeParent = $("#badge-column-div");
var bHasBadge = oBadgeParent.has("span." + sBadgeType)
if (bHasBadge == false || bMultiSearchEnabled)
oBadgeParent.append
(
$("<span class='badge-text " +sBadgeType+ "'>" +sBadgeType+ "</span>")
);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.