上一主题 下一主题
返回列表 发新帖

querySelector如何根据里面的文本选择元素,jquery有:contains

[复制链接]

11

主题

52

帖子

91

积分

注册会员

Rank: 2

积分
91
发表于 2021-7-17 01:51:00 | 显示全部楼层 | 阅读模式

querySelector如何根据里面的文本选择元素,jquery有:contains,而querySelector没找到有!

最近打算研究querySelector,querySelector可以取代jquery吗?jquery简单,什么同胞、过滤、遍历,还有许许多多函数。而querySelector很鸡肋。为什么有人喜欢纯用querySelector写脚本。

回复

使用道具 举报

80

主题

545

帖子

764

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
764
发表于 2021-7-17 02:25:32 | 显示全部楼层
我是queryselectorall匹配所有符合之后for循环判断...
作为不用jq的,表示因为我当初没认真学,就能用个大概....用的不伦不累的话不如自己舒服点了
回复

使用道具 举报

46

主题

438

帖子

628

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
628
发表于 2021-7-17 10:57:40 | 显示全部楼层
因为querySelector不需要额外引入
上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
回复

使用道具 举报

0

主题

22

帖子

31

积分

新手上路

Rank: 1

积分
31
发表于 7 天前 | 显示全部楼层
<div class="readInfo"><div class="readZT"><span class="fl"><img src="https://p.ananas.chaoxing.com/star3/193_114c/21b50d656dec0b00220be62dfc7f7c36.png" width="62px" height="60px"></span><div class="fl" style="margin-left:15px;padding-top:8px;"><span style="color:#333;font-size:15px;">《中国共产党的九十年》第一章</span><p style="font-size:12px;color:grey;position:relative;top:-5px">超星思政案例</p></div></div></div>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<meta name="viewport" content="width=device-width">
<title>专题阅读任务点</title>
<link href="/css/readLiveStyle.css" rel="stylesheet" type="text/css" />
<style>
    .readInfo{
    margin-top:12px;
    font-size:15px;
   
    }
    .readInfo img{
        border-radius: 6px;
    }
    .readContent p{
        line-height: 37px;
    }
   
    .readInfo:hover{
        cursor:pointer;
    }

</style>
    <script type="text/javascript" src="/js/common/jquery.min.js"></script>
<script type="text/javascript" src="/js/common/jquery-migrate.min.js"></script><script src="/static/js/domain.js"></script>
</head>
<body>
    <div class="content">
        <div class="main">      
            <div class="readScanList clearfix">         
                <h3 class="readDivTitle">
                    <a target="_blank" href="javascript:;" class="fl readTitleText">
                        <span>阅读</span>
                    </a>
                </h3>
                <div class="readContent">
                                            <div class="readTips" style="font-size:14px;">
                                                            <p>阅读总时长大于0分钟,阅读任务点可通过</p>
                                <p>您的阅读总时长:<span>0.0</span>分钟<span style="font-size:12px;color:#4a4a4a">(当天阅读时长,次日更新)</span></p>
                                                    </div>
                                      <div class="readInfo"> </div>
                </div>
            </div>
        </div>
    </div>
<script>
var setting = parent.setting;
var data = parent.data;
var from = "218058822_40711439_116310569_6257c24b74dd5f71cbf190cdb3b1df4a";
var learnMode = "true";
var rtag = "";
// 学生的观看时长
var secondReadTime = "";
var isCourseSquare = "0";
function renderZT() {
    var author = data.author || '&nbsp;&nbsp;';
    var coverUrl = data.coverurl;
    var name = data.title;
    var content =
        [ '<div class="readZT">',
           '<span class="fl"><img src="', coverUrl, '" width="62px" height="60px"></span>',
            '<div class="fl" style="margin-left:15px;padding-top:8px;">',
            '<span  style="color:#333;font-size:15px;">',name, '</span>',
            '<p style="font-size:12px;color:grey;position:relative;top:-5px">', author, '</p>',
            '</div>',
            '</div>'
        ];
    var contentStr = content.join('');
    $(".readInfo").html(contentStr);
}
function bindClick() {
    var id = data.id;
    var lookUrl = "/course/" + id + ".html?_from_=" + from + "&rtag=" + rtag;
    // 老师设置的任务点通过时长
    var passReadTime = data.readtime;
    var isPass = false;
    // 通识教育广场没有设置readtime或者学生的阅读时间大于设置的阅读时长
    if (!passReadTime || (passReadTime && passReadTime != "" && secondReadTime >= passReadTime)) {
        isPass = true;
    }

    $(".readInfo").on('click', function() {
        if (learnMode && data.jobid) {
            if (isCourseSquare == "1") {
                if (isPass) {
                    parent.finishJob(data.jobid);
                }
            } else {
                parent.finishJob(data.jobid);
            }
        }
        top.window.open(lookUrl);
    });
}

renderZT();
bindClick();
if (learnMode && parent.judgeJobFinish()) {
    parent.greenligth();
}
</script>
</body>
</html>



找不到元素,怎么来后台模拟点击它,触发事件?
回复

使用道具 举报

11

主题

52

帖子

91

积分

注册会员

Rank: 2

积分
91
发表于 6 天前 | 显示全部楼层
yy550623346 发表于 2021-7-21 23:45
《中国共产党的九十年》第一章超星思政案例

你发这样谁会看呀!直接执行事件绑定的函数就OK啦
举这个个例子:
$(".readInfo").on('click', function() {
        if (learnMode && data.jobid) {
            if (isCourseSquare == "1") {
                if (isPass) {
                    parent.finishJob(data.jobid);
                }
            } else {
                parent.finishJob(data.jobid);
            }
        }
        top.window.open(lookUrl);
    });

if (learnMode && data.jobid) {
            if (isCourseSquare == "1") {
                if (isPass) {
                    parent.finishJob(data.jobid);
                }
            } else {
                parent.finishJob(data.jobid);
            }
        }
        top.window.open(lookUrl);
这段代码拿出来用就OK啦
回复

使用道具 举报

发表回复

本版积分规则

快速回复 返回顶部 返回列表