JQuery вопрос о Селекторе Sub

Я не использовал этот метод, но Michael Kaplan описывает метод для того, чтобы сделать так в его сообщении в блоге (с запутывающим заголовком), который говорит о разделении диакритических знаков: Разделение является интересным заданием (иначе На значении бессмысленных, иначе символы All Mn без интервалов, но некоторые более без интервалов, чем другие)

static string RemoveDiacritics(string text) 
{
    var normalizedString = text.Normalize(NormalizationForm.FormD);
    var stringBuilder = new StringBuilder();

    foreach (var c in normalizedString)
    {
        var unicodeCategory = CharUnicodeInfo.GetUnicodeCategory(c);
        if (unicodeCategory != UnicodeCategory.NonSpacingMark)
        {
            stringBuilder.Append(c);
        }
    }

    return stringBuilder.ToString().Normalize(NormalizationForm.FormC);
}

Примечание, что это - продолжение его более раннего сообщения: диакритические знаки Разделения....

использование подхода Строка. Нормализуйте , чтобы разделить входную строку на составляющие глифы (в основном разделение "основных" символов от диакритических знаков) и затем просканировать результат и сохранить только основные символы. Это просто немного сложно, но действительно Вы смотрите на сложную проблему.

, Конечно, при ограничении себя французским языком Вам мог бы, вероятно, сойти с рук простой основанный на таблице подход в , Как удалить диакритические знаки и тильду в станд. C++:: строка , как рекомендуется @David Dibben.

5
задан Rodrigo Asensio 11 August 2009 в 17:25
поделиться

3 ответа

Если вы не можете использовать $ ("# x> div") , потому что он должен работать со всеми селекторами, о которых вы думаете, тогда предполагая, что вы определили этот конкретный селектор для var x:

var x = $('#x');

// this will select only the direct div children of x whatever the x is
x.children('div');
10
ответ дан 13 December 2019 в 05:39
поделиться

Используйте:

$("#x > div")

в качестве селектора - он выберет только прямых дочерних элементов div с идентификатором x .

1
ответ дан 13 December 2019 в 05:39
поделиться

Этот метод предоставит вам весь внутренний текст div:

x.children('div').each(function() {
  alert($(this).text());
});

Если вы не хотите весь текст, объединенный из нескольких дочерних div, вы можете доступ только к узлу прямого текста каждого:

x.children('div').each(function() {
  alert(this.childNodes[0].nodeValue);
});

Примечание: предполагая, что x является элементом Jquery, определенным var x = $ ('# x') .

.
1
ответ дан 13 December 2019 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: