Может ли класс в элементе ввода ссылаться на метку в html? [Дубликат]

Здесь представлена ​​функция разделения:

  • является общей
  • использует стандартный C ++ (без повышения)
  • принимает несколько разделителей
  • игнорирует пустые токены (может быть легко изменен)
    template<typename T>
    vector<T> 
    split(const T & str, const T & delimiters) {
        vector<T> v;
        typename T::size_type start = 0;
        auto pos = str.find_first_of(delimiters, start);
        while(pos != T::npos) {
            if(pos != start) // ignore empty tokens
                v.emplace_back(str, start, pos - start);
            start = pos + 1;
            pos = str.find_first_of(delimiters, start);
        }
        if(start < str.length()) // ignore trailing delimiter
            v.emplace_back(str, start, str.length() - start); // add what's left of the string
        return v;
    }
    

Пример использования:

    vector<string> v = split<string>("Hello, there; World", ";,");
    vector<wstring> v = split<wstring>(L"Hello, there; World", L";,");
20
задан Evans 6 August 2012 в 16:05
поделиться

4 ответа

Классы не уникальны (вы можете иметь несколько элементов с одним и тем же классом), поэтому нет.

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

<label>Number of rooms
    <select name="rooms">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
    </select>
</label>
40
ответ дан Madara Uchiha 28 August 2018 в 11:28
поделиться

Нет, вы не можете использовать class элемента, потому что один и тот же класс может использоваться несколькими элементами - в этом случае, какой элемент будет для label для?

4
ответ дан freefaller 28 August 2018 в 11:28
поделиться

Вот пример того, когда вы не захотите использовать идентификатор или вложить элемент управления:

  • Я создаю приложение BackboneJS, которое использует шаблоны. Поскольку шаблон можно дублировать, важно воздержаться от использования идентификаторов, поскольку он создаст несколько элементов в DOM с тем же идентификатором.
  • Я также использую Bootstrap, который будет представлять элемент управления в другой (и нежелательный) способ, если он завернут внутри элемента <label>.

На этом этапе единственным решением, которое я могу найти, является обертка элемента управления и tweek CSS по умолчанию, чтобы получить желаемый результат. Если у кого-то есть более элегантное решение, пожалуйста, войдите в систему.

3
ответ дан Mr Lister 28 August 2018 в 11:28
поделиться

Нет, вы не можете. Единственным атрибутом, который вы можете использовать, является атрибут id.

Не имеет смысла использовать класс (который описывает группу связанных элементов), поскольку метка может связаны только с одним контролем формы.

3
ответ дан Quentin 28 August 2018 в 11:28
поделиться