精华内容
下载资源
问答
  • js定位元素,并修改class

    万次阅读 2019-10-16 14:13:13
    出现的问题就是如上图所示,本来应该在中心轴右边的却跑到左边。 html代码是这样的 <li class="timeline-item timeline-reverse"> <div class="timeline-dot bg-green-500"> ...

    在这里插入图片描述

    出现的问题就是如上图所示,本来应该在中心轴右边的却跑到左边。
    html代码是这样的

    <li class="timeline-item timeline-reverse">
                                <div class="timeline-dot bg-green-500">
                                    昆明
                                </div>
                                <div class="timeline-content">
                                    <div class="widget widget-article widget-shadow">
                                        <div class="widget-body">
                                            <h3 class="widget-title" style="text-transform: none;">项目:test
                                                分支:master</h3>
                                            <p class="widget-metas">
                                                <span class="widget-time">2019年10月15日 16:02</span>
                                            </p>
                                            <p>
                                            </p><pre>5452cad - 申请运营补贴运营商数</pre>
                                            <p></p>
                                            <div class="widget-body-footer">
                                                <div class="widget-actions pull-right">
                                                    <i class="icon wb-tag" aria-hidden="true"></i>
                                                    <span>21d86fe918</span>
    
                                                </div>
                                                <a class="btn btn-primary btn-outline" href="1/change/">查看</a>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </li>
    

    解决思路:

    1. 通过$(’.timeline-item’).each()选择器获取页面上所有包含timeline-item属性的标签
    2. 判断里面class包含timeline-dot的坐标与左边距的距离
    3. 然后再增加移除对应的class属性
            $('.timeline-item').each(function () {
                let dot = $(this).find('div.timeline-dot')[0]
                if ($(this).hasClass('timeline-reverse') == false && dot.offsetParent.offsetLeft != 0) {
                    $(this).addClass('timeline-reverse')
                } else if ($(this).hasClass('timeline-reverse') && dot.offsetParent.offsetLeft == 0) {
                    $(this).removeClass('timeline-reverse')
                }
            })
    

    js获取子节点

    let dot = $(this).find('div.timeline-dot')[0]
    
    展开全文
  • 1.children() m.parent().siblings().children('.tab-menu').addClass('active'); 查找当前m的父元素的其他兄弟元素下的元素是.tab-menu的元素,添加class

    1.children()

    m.parent().siblings().children('.tab-menu').addClass('active');

    查找当前m的父元素的其他兄弟元素下的子元素是.tab-menu的元素,添加class

    展开全文
  • 判断'poi'的元素class哪个含有'poi_on',例如下面那段代码就返回'poi2' ``` <div class="poi"> <a class="poi1" href="#">  <a class="poi2 poi_on" href="#">  <a class="poi3" href="#">&...
  • 元素选择器( p{ ...; ...;}) 对已选中的HTML元素符号设置CSS样式 div、 p、 a 、ul 、li等 基本格式: div { height:80px; width:80px; } 1.div: 元素符号 ...class选择器( .Name { ...; ...;} )...

    目录

    1.元素选择器( p{  ...; ...;  })

    2.class选择器(  .Name { ...; ...;  } )(类型选择器)-最常见最容易理解

    3.id选择器 ( #Name {  ...; ...;  }  )

    4.后代选择器(  .father .baby { ...;   ;}  )

    5.子元素选择器 ( div > span )

    6.相邻选择器(相邻兄弟元素):选中对应元素的下一个兄弟元素

    7.属性选择器( img[alt] )

    *. 选择器分组


    1.元素选择器( p{  ...; ...;  })

    对已选中的HTML元素符号设置CSS样式

    div、 p、 a 、ul 、li等

     

    基本格式:

    div {
       height:80px;
       width:80px;
    }
    
    1.div: 元素符号
    
    2.width、height : 属性
    
    3.80px : 属性值

    2.class选择器(  .Name { ...; ...;  } )(类型选择器)-最常见最容易理解

    绑定HTML元素上已经设置的class标签进行设置对应的css样式。

    基本格式:以class前缀符+class名称: .Name {} 

    /*功能:选择页面上class属性为Nihao的元素: */
    .Nihao {
      weight:80px;
      height:80px;
    }

    3.id选择器 ( #Name {  ...; ...;  }  )

    该选择器通过绑定HTML元素上已经设置的唯一id标签进行设置对应的CSS样式。

    基本格式:id选择符前缀#+id名称  #Name{  ...; ...;  }

    #Nihao {
      height:80px;
      weight:80px;
    }

    4.后代选择器(  .father .baby { ...;   ;}  )

    选中某几个父级对应的所有子级元素,并针对该子级设置CSS样式。

    三点特性:

    1. 后代选择器设置的CSS样式不会影响到父级
    2. 父级和子级之间可以存在多层级父级,并不局限在单一父子级之间,层级越深所设置的CSS样式优先级越高,从左到右逐级深入
    3. 父级和子级之间用空格隔开
    .father .baby {
      color:red;
    }

    5.子元素选择器 ( div > span )

    与后代选择器较为类似,但是范围比后代选择器小。

    两点特性:

    1. 后代选择器可以跨层级影响,而子元素选择器要求父元素和子元素一定为上下级关系,中间如果间隔其他元素,则会失效
    2. 父元素和子元素之间需要用 子结合符号(>) 隔开。
    div > span {
     weight:80px;
     heigth:80px;
    }

    6.相邻选择器(相邻兄弟元素):选中对应元素的下一个兄弟元素

    三点特性:

    1. 所涉及相邻兄弟元素必须是该元素的同级元素
    2. 所涉及的相邻兄弟元素必须是相邻的兄弟元素,中间如果有其他元素隔开的会导致失效
    3. 元素A对应的相邻兄弟元素之间需要 + 隔开
    #Nihao + div {
     weight:80px;
     height:80px;
    }

    7.属性选择器( img[alt] )

    检查HTML元素页面中符合所设置的属性条件的元素

    通过   [ ] 设置被选元素的属性条件

    具体内容将通过一整篇文章并结合代码进行展示。

    具体请见此文:https://blog.csdn.net/QQQZSJ/article/details/104735799

    *. 选择器分组

    就是有多个元素需要使用同一套CSS样式,可以使用选择器分组,以避免为每个元素单独设置样式而造成不必要的冗余。

    选择器分组通过逗号将服用同一套样式的多个元素进行分隔

    /***选择器分组写法***/
    a,p,div{
        color:red;
    }
    
    /***原始写法***/
    a{color:red}
    p{color:red}
    div{color:red}
    
    /*copy from  W3Cschool*/

     

    展开全文
  • JNI子线程FindClass失败

    千次阅读 2018-12-17 13:47:03
    1、在C语言里创建线程  在进行jni开发时,Java调用C语言一般都处于主线程中的,但是使用JNI开发,很多情况都是需要开启线程的(毕竟不能阻塞主线程),那么如何开启线程尼?很简单,代码如下: void void *th...

    1、在C语言里创建子线程

     在进行jni开发时,Java调用C语言一般都处于主线程中的,但是使用JNI开发,很多情况都是需要开启子线程的(毕竟不能阻塞主线程),那么如何开启子线程尼?很简单,代码如下:

    void void *th_fun(void *arg) {}//是子线程的回调函数,我认为就相当于Java里的`Runnable`任务,但是在C语言里是可以传递参数的。
    pthread_create(&tid, NULL/*很少用到*/, th_fun/*子线程回调*/, (void *) "no1"/*传递给子线程的参数*/);
    

    2、在子线程使用env

     有时候在子线程会去调用Java方法,那么如何调用尼?一般我们都会通过env->FIndClass来调用,但是如何在子线程回调函数里拿到env尼?将env设为全局引用,这是一个解决方案,但是env本就是与线程相关的,如果设为全局引用给其他线程调用,这样就搞混乱了,所以不好。那么如何解决尼?其实我们可以通过JavaVM来解决,JavaVM代表的是Java虚拟机,所有工作都是从JavaVM开始的,每个Java程序代表一个JavaVM,Android里每个Android程序都的JavaVM都是一样的。解决方案如下:

    static JavaVM *javaVM;
    
    //动态库加载时会执行
    //兼容Android SDK 2.2之后,2.2没有这个函数
    JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) {
        LOGI("%s", "JNI_OnLoad");
        javaVM = vm;
        return JNI_VERSION_1_4;
    }
    void *th_fun(void *arg) {
        JNIEnv *env = NULL;
        int isAttacked = 0;
        int status = (*javaVM)->GetEnv(javaVM, (void **) &env, JNI_VERSION_1_4);
        if (status < 0) {
            isAttacked = 1;
            (*javaVM)->AttachCurrentThread(javaVM, &env, NULL);
        }
    }
    

    3、在子线程FindClass失败

     有时候会在子线程去调用Java类,但是在我们创建的子线程(通过pthread_create创建)中调用FindClass查找非系统类时会失败(查找系统类不会失败),返回值为NULL,为什么尼?这是因为通过AttachCurrentThread附加到虚拟机的线程在查找类时只会通过系统类加载器进行查找,不会通过应用类加载器进行查找,因此可以加载系统类,但是不能加载非系统类,如自己在java层定义的类会返回NULL。
     那么如何解决尼?主要有以下两个方案

    • 获取classLoader,通过调用classLoader的loadClass来加载自定义类。适合自定义类比较多的情况
    • 在主线程创建一个全局的自定义类引用。适合自定义类比较少的情况
    #include <jni.h>
    #include <pthread.h>
    #include <android/log.h>
    #include <stdio.h>
    #include <unistd.h>
    
    #define LOGI(FORMAT, ...) __android_log_print(ANDROID_LOG_INFO,"dadou",FORMAT,##__VA_ARGS__);
    #define LOGE(FORMAT, ...) __android_log_print(ANDROID_LOG_ERROR,"dadou",FORMAT,##__VA_ARGS__);
    
    
    static JavaVM *javaVM;
    static jobject class_loader_obj_ = NULL;
    static jmethodID find_class_mid_ = NULL;
    static jclass global_ref = NULL;
    
    //动态库加载时会执行
    //兼容Android SDK 2.2之后,2.2没有这个函数
    JNIEXPORT jint JNI_OnLoad(JavaVM *vm, void *reserved) {
        LOGI("%s", "JNI_OnLoad");
        javaVM = vm;
        LOGI("a=%d,b=%d", vm == NULL, javaVM == NULL);
        //--------------------------------------------方案一--------------------------------------------
    // JNIEnv *env = NULL;
    // int status = (*javaVM)->GetEnv(javaVM, (void **) &env, JNI_VERSION_1_4);
    // if (status == JNI_OK) {//我认为最好在JNI_OnLoad里拿到classLoader的全局引用
    // jclass classLoaderClass = (*env)->FindClass(env, "java/lang/ClassLoader");
    // jclass adapterClass = (*env)->FindClass(env, "com/example/thread/UUIDUtils");
    // if (adapterClass) {
    // jmethodID getClassLoader = (*env)->GetStaticMethodID(env, adapterClass,
    // "getClassLoader",
    // "()Ljava/lang/ClassLoader;");
    // jobject obj = (*env)->CallStaticObjectMethod(env, adapterClass, getClassLoader);
    // class_loader_obj_ = (*env)->NewGlobalRef(env, obj);
    // find_class_mid_ = (*env)->GetMethodID(env, classLoaderClass, "loadClass",
    // "(Ljava/lang/String;)Ljava/lang/Class;");
    // (*env)->DeleteLocalRef(env, classLoaderClass);
    // (*env)->DeleteLocalRef(env, adapterClass);
    // (*env)->DeleteLocalRef(env, obj);
    // }
    // }
        //----------------------------------------------------------------------------------------------
        return JNI_VERSION_1_4;
    }
    
    //子线程的回调
    /**
     * 在子线程中,不能通过env->FindClass来获取自定义类,(*env)->FindClass(env, "com/example/thread/UUIDUtils");返回NULL,
     * (*env)->FindClass(env,"java/lang/String");能够正确的返回
     * 解决方案一:获取classLoader,通过调用classLoader的loadClass来加载自定义类。适合自定义类比较多的情况
     * 解决方案二:在主线程创建一个全局的自定义类引用。适合自定义类比较少的情况
     * @param arg
     * @return
     */
    void *th_fun(void *arg) {
        JNIEnv *env = NULL;
        int isAttacked = 0;
        int status = (*javaVM)->GetEnv(javaVM, (void **) &env, JNI_VERSION_1_4);
        if (status < 0) {
            isAttacked = 1;
            (*javaVM)->AttachCurrentThread(javaVM, &env, NULL);
        }
        jclass clazz = NULL;
        //--------------------------------------------方案一--------------------------------------------
    // jstring class_name = (*env)->NewStringUTF(env, "com/example/thread/UUIDUtils");
    // clazz = (*env)->CallObjectMethod(env, class_loader_obj_, find_class_mid_,
    // class_name);
    // (*env)->DeleteLocalRef(env, class_name);
    // if (clazz != NULL) {
    // jmethodID get_mid = (*env)->GetStaticMethodID(env, clazz, "get",
    // "()Ljava/lang/String;");
    // jobject uuid = (*env)->CallStaticObjectMethod(env, clazz, get_mid);
    // char *uuid_cstr = (char *) (*env)->GetStringUTFChars(env, uuid, NULL);
    // LOGI("uuid : %s", uuid_cstr);
    // (*env)->ReleaseStringUTFChars(env, uuid, uuid_cstr);
    // }
        //----------------------------------------------------------------------------------------------
        //--------------------------------------------方案二--------------------------------------------
        if (global_ref != NULL) {
            jmethodID get_mid = (*env)->GetStaticMethodID(env, global_ref, "get",
                                                          "()Ljava/lang/String;");
            jobject uuid = (*env)->CallStaticObjectMethod(env, global_ref, get_mid);
            char *uuid_cstr = (char *) (*env)->GetStringUTFChars(env, uuid, NULL);
            LOGI("uuid : %s", uuid_cstr);
            (*env)->ReleaseStringUTFChars(env, uuid, uuid_cstr);
        }
        //----------------------------------------------------------------------------------------------
    
        char *no = (char *) arg;
        int i = 0;
        for (i = 0; i < 5; i++) {
            LOGI("thread %s, i:%d", no, i);
            if (i == 4) {
                if (class_loader_obj_ != NULL) {
                    (*env)->DeleteGlobalRef(env, class_loader_obj_);
                }
                //采用方案二时需要释放全局引用
                //---------------释放---------
                if (global_ref != NULL) {
                    LOGI("%s", "开始释放全局引用")
                    (*env)->DeleteGlobalRef(env, global_ref);
                }
                //----------------------------
    
                //下面的函数必须最后执行,在后面再使用env会报错
                if (isAttacked == 1) {
                    //解除关联
                    (*javaVM)->DetachCurrentThread(javaVM);//必须在离开当前线程之前执行
                }
                pthread_exit((void *) 0);
            }
            sleep(1);
        }
    
    }
    
    
    //JavaVM 代表的是Java虚拟机,所有工作都是从JavaVM开始的,每个Java程序代表一个JavaVM,Android里每个Android程序都的JavaVM都是一样的
    //可以通过JavaVM获取到每个线程关联的JNIEnv
    
    
    //如何获取JavaVM?
    //1.在JNI_OnLoad函数中获取
    //2.(*env)->GetJavaVM(env,&javaVM);
    //每个线程都有独立的JNIEnv
    JNIEXPORT jstring JNICALL Java_com_example_thread_MainActivity_stringFromJNI(
            JNIEnv *env, jobject /* this */ object) {
        char str[] = "Hello from C";
        jclass clazz = (*env)->FindClass(env, "com/example/thread/UUIDUtils");
        global_ref = (*env)->NewGlobalRef(env, clazz);
        pthread_t tid;//子线程id
        //创建一个子线程
        pthread_create(&tid, NULL/*很少用到*/, th_fun/*子线程回调*/, (void *) "no1"/*传递给子线程的参数*/);
        return (*env)->NewStringUTF(env, str);
    }
    

     下面就是Java方法

    public class UUIDUtils {
     public static ClassLoader getClassLoader() {
      return UUIDUtils.class.getClassLoader();
     }
     public static String get(){
      return UUID.randomUUID().toString();
     }
    	
    }
    

    参考
    JNI开发注意事项集锦

    展开全文
  • Vue中父组件更改组件的class

    千次阅读 2018-05-09 15:13:39
    在实践饿了吗的事例中有时需要在组件中更改一些组件的样式。自己感觉使用 &gt;&gt;&gt;比较好用点.star &gt;&gt;&gt; .star-item { margin-right: 5px; }有些像 SASS 之类的预处理器无法...
  • 我想通过#id2 获取还有元素还有class=c1的元素,请问jq选择器和css选择器怎么写 <p class="c1"> <p class="c1"> <h class="c1"> </div>
  • react在hook组件里边调用class子组件

    千次阅读 2020-11-27 17:06:59
    优化代码的过程不是一蹴而就的,庞大的代码量不可能几天就能完成从class到hook的更替,那么在这个过程中,我们就很可能遇到在hooks组件里边调用class子组件这种情况; 问题 当我使用hook父组件调用中间件嵌套的class...
  • vue--给组件根元素添加class属性

    千次阅读 2019-06-12 17:45:03
    例子: 1.声明自定义组件 Vue.component('my-...p class="foo bar">Hi</p>' }) 2.调用组件,添加class属性 <my-component class="baz boo"></my-component> 3.结果 <p class="foo ...
  • 该操作支持Package Explorer对包显示布局的操作,如果是平铺模式布局,则导出的源代码不包含包,如果是层级模式布局,则导出选中的包及其所有的包。 Debug调试:可以在首选项选中对齐行号进行...
  • 根据不同的值给父级div添加class样式

    千次阅读 2017-08-25 21:06:58
    页面 异常单 0 css样式 .count_errors{ 1px solid red; } js样式 $("#count_error").html(data.summary_count['error']); if(data.summary_count['e
  • 1、Class组件中父组件调用组件方法 原理: 当在组件中调用onRef函数时,正在调用从父组件传递的函数。this.props.onRef(this)这里的参数指向组件本身,父组件接收该引用作为第一个参数:onRef = {ref =>...
  • js更改父及元素的class属性

    千次阅读 2015-02-11 13:18:45
    $this.parent().removeClass('abc').addClass('bcd');$this.parent().html('我不是按钮'); 转载于:https://blog.51cto.com/jhomephper/1613618
  • 在新建了一个untitled的模块后,可以看到它的所有文件夹都是灰的,这时如果想在src/main/java中新建类会发现找不到这个选项 此时无法通过new去创建一个新的类 那么我们首先点击右上角的文件的菜单栏中...
  • PHP里的__CLASS__这类东西是静态绑定的,如果不在子类里重载的话,那么继承父类方法所得到的依旧是父类的名称,而不是子类的名称,比如: 01 02 class A 03 { 04  ...
  • jq 几个相同class的div 对应点击div的节点 添加class 其他的removeclass, 写了很多办法,就是不报错。点了也没有反应 ,一点反应都没有。 这是为什么??点击paylist-item,添加或删除item-selected div: ``` ...
  • 当 java 一个 class 里面 包含 另一个 class 时,需要将这个 class 声明为 static,不然经常出错 举例: public class toStringTest { static class Item{ private double price; private String name; ...
  • 深入理解Java类型信息(Class对象)与反射机制

    万次阅读 多人点赞 2017-05-01 23:19:19
    【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) ...深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(enum) 深入理解Java注解类型(@Annotation) 深入理解
  • Maven可以实现多模块开发。每个模块可能有自己的对应的配置文件(比如 *.xml 或者 *...如果将这些配置文件放入class目录下就不会出现类似的错误,但是怎样不用手动,在打包为war的时候就能自动的放入class文件下。
  • vue 绑定class的几种方式

    万次阅读 2018-08-21 17:22:59
    给v-bind:class 设置一个对象,可以动态地切换class,如下 &lt;div id="app"&gt; &lt;div :class="{'active':isActive}"&gt;&lt;/div&gt; &lt;/div&gt; &...
  • Angular添加class的正确方式

    千次阅读 2020-03-09 13:41:46
    Angular添加class的正确方式 很多时候我们会遇到需要给元素增加或删除指定class,从而达到某种目的。那么在Angular中我们如何添加? className属性绑定 我们可以通过HTML元素的className属性进行绑定: <div ...
  • 判断元素是否有某个class function hasClass( elements,cName ){ return !!elements.className.match( new RegExp( "(\\s|^)" + cName + "(\\s|$)") ); // ( \\s|^ ) 判断前面是否有空格 (\\s | $ )判断后面...
  • 问题原因可能是eclipse无法刷新构建的报,需要先install父模块,maven update 模块,在install模块就可以了
  • java的Class类源码详解

    千次阅读 2019-09-05 08:00:27
    java的Class类源码详解 类的定义 ublic final class Class<T> implements java.io.Serializable, GenericDeclaration, Type, ...
  • .Class名");//注意Class名前有个点。 方式二: $("标签对象").find("要找的标签名").eq("要找的第几个,起始位0").hasClass("Class名"); 方式三: $("标签...
  • ClassLoader中的loadClass和findClass方法

    千次阅读 2018-07-25 19:44:39
    Java中ClassLoader的具体实现 ...jdk中classloader中loadclass方法的实现如下所示: protected Class&lt;?&gt; loadClass(String name, boolean resolve) throws ClassNotFoundExcep...
  • CSS中class的优先级

    千次阅读 2019-11-25 17:51:51
    在我们为HTML的元素设计样式时,有时会在一个元素中使用到多个class,又或者是这个元素符合多个定义的class,这时候我们就要注意这些class之间的优先级了。 class的定义方式有以下几种: 一、 .a class的优先级与...
  • 1、通配符 和CSS一样,Xpath 也有通配符 * 比如://div/* ,表示选择div下面所有的元素 等价于CSS中的 $$('div >...driver.find_element_by_xpath("//span[@class='bg s_ipt_wr quickdelete-wrap']")
  • Java——深入理解Class对象(一):什么是Class对象

    千次阅读 多人点赞 2018-11-28 21:05:03
    Class类是我们再熟悉不过的东西,但是对于Class对象,很多人却是一脸懵逼。 Class对象到底是什么呢?今天我们就来深入了解一下它。 1.RTTI的概念 RTTI(Run-Time Type Identification),即运行时类型识别,这...
  • 这几天在写一个导航菜单的 jQuery ...这时要给后面4个主菜单在元素ul加个class(如oo),而且要这个ul下的li加另外一个class(如xx),用jQuery来实现。 …… 还是用图片来说明吧…… 一、菜单样式、 html 结构

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,468,207
精华内容 587,282
关键字:

子class