如何在div中找到一个类并将该类添加到字符串变量中?

时间:2019-02-15 20:59:57

标签: jquery html

我正在尝试使用jQuery查找一个类并将该类存储在字符串中。每个类都是动态的,但都以相同的字符串“ video-”开头。

最终,我想从类中剥离视频,并仅使用剩余的字符串作为我构建的数组的标识符。欢迎任何帮助,谢谢!

<EditText
        android:id="@+id/editText"
        android:layout_width="200dp"
        android:layout_height="50dp"
        android:layout_below="@+id/textView2"
        android:layout_centerHorizontal="true"
        android:drawableLeft="@drawable/ic_action_pass"
        android:drawableStart="@drawable/ic_action_pass"
        android:ems="10"
        android:background="#1100000"
        android:hint="@string/password"
        android:inputType="textPassword"
        android:textSize="18sp" />

2 个答案:

答案 0 :(得分:0)

使用包含数据的video_Id属性要好得多,但是如果您仍然希望以此方式进行操作。

您可以使用split和slice来获得所需的结果。

下面是示例

  $(".background-of-video span").click(function () {
   var v = $(this).parent().attr("class")
   .split(" ")[1].split("-").slice(1,3).join("-")
   
   console.log(v)
  });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="background-of-video video-wb-KMTk">
  <span>
  
   click here
    <img src="">
  </span>
</div>

答案 1 :(得分:0)

拆分className属性并循环遍历,test()确定其是否匹配并删除前缀。

$(".background-of-video").click(function() {
   var classes = $(this)[0].className.split(' '); // Now you have an array.
   var videoId = false;

   for ( i = 0; i < classes.length; i++ ) {

     if ( /^video\-/.test(classes[i]) ) {  // test for class w/ prefix
        videoId = classes[i].replace('video-', ''); // strip out prefix to store
     }
   }

   console.log(videoId); // do whatever you need if videoId !== false
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="background-of-video video-wb-KMTk">
  <span>
  
   click here
    <img src="">
  </span>
</div>

由于您说只能添加类,因此请将类更改为不太可能与其他对象发生冲突的类,例如,youngSirVideo-而不是video-