2012-10-02 2 views
1

Я пытаюсь разбить строку на основе средней точки. По какой-то причине это не признает. Я могу использовать символ «pipe», поэтому я знаю, что все остальное работает, но не средняя точка. Нужно ли мне избегать средней точки? Если да, то как?Javascript split не распознается средняя точка

Javascript

var sTags = $(this).text(); 
    // alert(sTags); 
    sSplitTags = sTags.split(' | '); 
    // Split isn't recognizing the middot 
    // var sSplitTags = sTags.split(' · '); 
    // var sSplitTags = sTags.split(' · '); 
    // var sSplitTags = sTags.split(' · '); 
    alert(sSplitTags[0]); 

HTML

<div>Upscale &middot; Gadget</div> 
    <div>Expensive · Widget</div> 
    <div>Expensive &#183; Widget</div> 

Заранее спасибо!

+1

Должен ли быть какой-то разделитель в коде? Я вижу 'sSplitTags = sTags.split (|);', который будет синтаксической ошибкой. – jbabey

+0

Может быть, попробуйте 'sTags.split ('\ u00B7')'? – ruakh

+0

jababey, вы правы. Я отредактировал образец, но это не проблема. Это просто надзор с моей стороны, поскольку я пытался использовать разные подходы. ruakh, вы - решения! Спасибо всем за вашу помощь! – user1003757

ответ

3

' \267 ' Должно быть то, что вы ищете. Javascript использует восьмеричную кодировку для специальных символов, которая отличается от синтаксиса кодирования html/css.

Вот сайт с хорошей справочной таблицы: http://www.evotech.net/blog/2007/04/named-html-entities-in-numeric-order/

-EDIT-

ruakh принес эту версию ' \u00B7 ', которая также как действует. Вы увидите на странице, что есть столбец для шестнадцатеричных кодов, а для средней точки - B7. В css вы должны написать \00B7, но в javascript нам нужно квалифицировать, что это не восьмеричный, добавив немного «u» на передний план, и вы получите \u00B7'.

+0

Спасибо, TheZ! Ты избавил меня от разочарования! – user1003757

+0

Нет проблем, вы можете отметить это как ответ, если это помогло вам ответить на вопрос :) – TheZ

0

Код работает нормально, когда символьная кодировка документа, содержащего код JavaScript, была правильно объявлена. Например, он работает, когда код появляется, как кодируется UTF-8, внутри HTML-документа, который кодируется UTF-8 в целом, и эта кодировка объявляется адекватно. Для внешнего файла JavaScript HTTP-заголовки должны использоваться для объявления кодировки. См. Документ W3C о кодировке символов: http://www.w3.org/International/O-charset.en.php

Смежные вопросы