jQuery первый ребенок “этого”

Я пытаюсь передать "это" от нажатого промежутка до функции jQuery, которая может затем выполнить jQuery на первом ребенке того нажатого элемента. Может казаться, не разбирается в нем...

<p onclick="toggleSection($(this));"><span class="redClass"></span></p>

JavaScript:

function toggleSection(element) {
  element.toggleClass("redClass");
}

Как делают я ссылаюсь: первый ребенок элемента?

306
задан BoltClock 6 September 2012 в 07:03
поделиться

3 ответа

Если вы хотите применить селектор к контексту, предоставленному существующий набор jQuery, попробуйте функцию find () :

element.find(">:first-child").toggleClass("redClass");

Йорн Скоу-Роде отметил, что вы, вероятно, хотите найти только первого прямого потомка элемента контекста, следовательно, ] дочерний селектор (>). Он также указывает , что вы могли бы с таким же успехом использовать функцию children () , которая очень похожа на find (), но выполняет поиск только на одном уровне в глубине иерархии (а это все вам нужно ...):

element.children(":first").toggleClass("redClass");
469
ответ дан 23 November 2019 в 01:19
поделиться

Используйте функцию children с селектором : first , чтобы получить единственный первый дочерний элемент элемента :

element.children(":first").toggleClass("redClass");
72
ответ дан 23 November 2019 в 01:19
поделиться

У вас есть две опции, вы можете создать колладу модели воздушного пространства, или ряд полигональных объектов, определяющих каждую грань,

вертикально ориентированные многоугольники могут быть определены, обратите внимание на направление вашего (по часовой стрелке или против часовой стрелки), поскольку это повлияет на стиль, просмотр многоугольника снизу делает его немного темнее

для простой прямоугольной формы вам понадобится 6 граней

, следующий kml является измененной версией пятиугольника пример с одной из граней вертикали заполнен, остальные 4 вертикальные грани должны быть закончены, но вы получите идею.

    <?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
    <name>pm1.kml</name>
    <Style id="poly">
        <LineStyle>
            <color>f0ffed42</color>
        </LineStyle>
        <PolyStyle>
            <color>e8ff9257</color>
        </PolyStyle>
    </Style>



<Placemark>
    <styleUrl>#poly</styleUrl>
        <Polygon>
            <altitudeMode>relativeToGround</altitudeMode>
            <outerBoundaryIs>
                <LinearRing>
                    <coordinates>
-77.05844056290393,38.86996206506943,500 -77.05552622493516,38.868757801256,500 
-77.05315536854791,38.87053267794386,500 -77.05465973756702,38.87291016281703,500 -77.05788457660967,38.87253259892824,500 -77.05844056290393,38.86996206506943,500 </coordinates>
                </LinearRing>
            </outerBoundaryIs>
        </Polygon>
</Placemark>
<Placemark>
    <styleUrl>#poly</styleUrl>
        <Polygon>
            <altitudeMode>relativeToGround</altitudeMode>
            <outerBoundaryIs>
                <LinearRing>
                    <coordinates>
-77.05844056290393,38.86996206506943,400 -77.05552622493516,38.868757801256,400 
-77.05315536854791,38.87053267794386,400 -77.05465973756702,38.87291016281703,400 -77.05788457660967,38.87253259892824,400 -77.05844056290393,38.86996206506943,400 </coordinates>
                </LinearRing>
            </outerBoundaryIs>
        </Polygon>
</Placemark>

<Placemark>
    <styleUrl>#poly</styleUrl>
        <Polygon>
            <altitudeMode>relativeToGround</altitudeMode>
            <outerBoundaryIs>
                <LinearRing>
                    <coordinates>
 -77.05844056290393,38.86996206506943,500 -77.05844056290393,38.86996206506943,400 -77.05552622493516,38.868757801256,400  -77.05552622493516,38.868757801256,500  -77.05844056290393,38.86996206506943,500
</coordinates>
                </LinearRing>
            </outerBoundaryIs>
        </Polygon>
</Placemark>

</Document>
</kml>
-121--3010596-

Я согласен со всеми пунктами , которые перечислил Франки Пенов. Я хотел бы немного подробнее рассказать об использовании чужого ключа API. Предположим, что вы регистрируете key1 с помощью example.com .

  1. Первая попытка - Если anothersite.com имеет < script src = «http://www.google.com/jsapi?key=key1» > , Google может проверить свой референт (упомянутая хэш-схема), и в этом случае имеет место несоответствие. Как злой злоумышленник преодолевает это, поскольку многие люди упомянули, что рефератор может быть спародирован? Здесь это на самом деле не относится. Убедитесь, что вы можете отправить произвольные заголовки, если вы сделаете запрос, но как злой хакер обманывает ссылки для пользователей на anothersite.com ? Это вообще непросто. Были старые версии флэш-памяти на IE 6, которые позволяли злоумышленнику устанавливать произвольные заголовки при выполнении междоменных запросов, но в целом это невозможно для скрипта src . Я не уверен, делает ли включенный Javascript какую-либо проверку document.location , чтобы предотвратить это (вероятно, нет).

  2. Вторая попытка - злой злоумышленник копирует Google Javascript для ключа API из источника страницы mysite.com , а затем встраивает измененный javascript в anothersite.com . Теперь Google не может ничего проверить (удаленный IP будет компьютером пользователя, и не так много вы или Google можете сделать).

Итак, если вы хотите по какой-то причине сохранить ключ API в секрете (по одной причине злоумышленник может внести ваш ключ в черный список/заблокировать его), не встраивайте ключ в запросы клиента и прокси через ваш сервер (код приложения теперь имеет ключ).

-121--861474-

Пробовали ли вы

$(":first-child", element).toggleClass("redClass");

Я думаю, что вы хотите задать свой элемент в качестве контекста для вашего поиска. Может быть лучший способ сделать это, который какой-то другой гуру jQuery будет прыгать сюда и выбросить на вас:)

9
ответ дан 23 November 2019 в 01:19
поделиться
Другие вопросы по тегам:

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