我正在尝试使用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" />
答案 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-
。