#javascript #jquery #reactjs
#javascript #jquery ( jquery ) #reactjs
Вопрос:
Может кто-нибудь сказать мне, что я делаю не так? Я создаю класс — скидку, и если этот класс существует, я хочу создать элемент ниже.
if (isRangeWithinRange(valueRange, dateRange)) {
classes.push('discount');
} else if ($(".discount")[0]) {
React.createElement('div');
}
Я создал класс «скидка», и теперь я хочу получить что-то подобное внутри кнопки, если класс «скидка» существует:
<button class="discount">
<div></div>
</button>
Мой HTML-код выглядит следующим образом
<button class="react-calendar__tile react-calendar__tile--active discount react-calendar__tile--range react-calendar__month-view__days__day"
type="button" style="flex-basis: 14.2857%; max-width: 14.2857%; overflow: hidden;">
<abbr aria-label="30 grudnia 2020">30</abbr>
</button>
Комментарии:
1. Где это
classes
объявлено? Это выглядит как простой массив.2. классы @terrymorse объявляются с именем класса: var classes = [className];
3.
className
является строкой. Я не понимаю, как добавление к массиву, содержащемуclassName
строку, изменитclassName
. Это какая-то магия реакции?4.
"".concat('discount')
почему…..5. jQuery с реакцией ….. почему?
Ответ №1:
Если вы хотите добавить a <div>
к каждому .discount
элементу, вы можете использовать это:
if ($(".discount").length > 0){
$(".discount").append('<div></div>')
}
Комментарии:
1.
if ($(".discount").length>0)
2. @Isman F. он генерирует бесконечное количество divs
3. Я не могу воспроизвести это, вот скрипка: jsfiddle.net/ojf245aL