2017-11-18 40 views
-1

我知道這可能看起來像一個奇怪的問題,但我使用特定的命名約定來編寫我的CSS。儘管最初的尷尬,它仍然適合我。使用Javascript選擇/應用樣式到特定的字符

基本上,而不是使用camelCase或seperate_with_underscore我用自定義的Unicode字符分隔我的類名稱。像這樣的:

sideNavܢ頭ܢ文本

那麼,如果我有一個特定的狀態修改一類,我會寫像這樣:

sideNavܢ頭ܢ文本ᆞ大膽

這些都不是CSS選擇這僅僅是我的命名約定。現在我的問題。

我正在使用原子文本編輯器,有時我希望能夠隱藏這些特殊字符。我可以使用JavaScript來選擇Atom中的東西,但是有可能使用JavaScript來從字面上選擇單個字符?

然後,我可以使用該選擇對其應用「display:none」樣式嗎?

像:

var a = document.getElementByChar("a"); 
a.style.display = "none"; 

任何幫助或想法,將不勝感激!

更新:我不想實際刪除字符。只是「隱藏」他們的看法。我使用的命名約定實際上比這更復雜,我使用這些特殊字符來定義文檔中的各種模式。

但是有時我只關心某些選擇器,而我希望其他人暫時離開。

+0

號你需要換行字符,比如''元素和隱藏元素 – charlietfl

+0

呀,我想通這一點。非常感謝您的確認。我會找到其他方法。 – YAHsaves

+0

如果需要,可以使用String#replace()來替換包含它的元素的字符 – charlietfl

回答

0

如果我正確理解你的問題,在JavaScript中,您可以:

  1. 獲得來自的className整個字符串:

const string = document.querySelector(".sideNavܢheaderܢtext").textContent

  • 找到您想要修改的角色的位置。例如:
  • string.indexOf('a')

  • 裹有span字符(很多方法可以做到這一點 - 檢查出this one)。

  • 使用CSS將類添加到範圍和樣式。

  • 0

    我對Atom不熟悉。 Atom中的每個選擇器都是dom元素嗎?

    如果你所有的選擇器都存在於<span class="selector">之內,那麼你可以做這樣的事情......

    $('span.selector').each(function(elm){ 
        $(elm).text($(elm).text().split('ܢ').join('<b style="display:none;">ܢ</b>')); 
    });