获取匹配元素集合中每个元素的组合文本内容(包括它们的后代),或设置匹配元素的文本内容
xiyueta().text()属性方法,二种调用方式:
1、xiyueta("div").text(); //获取匹配元素集合中每个元素的组合文本内容(包括它们的后代)
2、xiyueta("div").text("设置内容"); //设置每个匹配元素的文本内容
总结:xiyueta().text()用法与jQuery中jQuery().text()用法保持一致,xiyueta().text(function(i){})可以向jQuery里一样来使用
see https://api.jquery.com/text
演示地址 http://xiyueta.com/demo/xiyueta/text/
<script src="http://www.xiyueta.com/js/xiyueta.min.js"></script>
<script>
var html='<span>xiyueta</span><span>JS库</span>';
$().parse(html);
$.log($("span").text());
</script>
xiyueta.js库 $().text()属性方法调用源码部分:
text: function(value) { //获取匹配元素集合中每个元素的组合文本内容,包括它们的后代==jQuery
if (arguments.length >= 1) { //设置
_xyt.text(this.domList, value);
return this;
} else {
return _xyt.text(this.domList);
}
}
xiyueta.js库 $().text()属性方法函数源码部分:
//获得或设置文本 domList为操作dom 改进于20210929 抛弃查找this.getDocument(lableName, x, y);
this.text = function(domList, value) {
var valueType = typeof(value);
if (valueType == "function") { //设置值为函数
var splstr = this.callToList(this.domList, value);
for (var i = 0; i <= splstr.length - 1; i++) {
var obj = splstr[i];
if (obj) this.text(obj.domList, obj.value)
}
return false;
}
if (domList == undefined) return ""; //dom为undefined退出
var type = "get"; //获得
if (arguments.length >= 2) {
type = "set"; //设置
//不为这处判断,直接转字符串就行
// valueType == "number" || valueType == "object" || valueType == "date" || valueType == "boolean" || valueType == 'array'
if (valueType == 'undefined') {
return ""; //为undefined不要符值,退出
} else if (valueType == 'null') {
value = "";
}else{
value = value + "";
}
value = value.replace(/</g, '<').replace(/>/g, '>'); //转义字符
}
//操作对象 追加20210505 不要删除,内部调用时可以这么写20210929
if (typeof(domList) == "object") {
domList = "," + domList.x + "|" + domList.y;
}
if (domList == "") return ""; //domlist列表为空时返回空字符串并退出
var c = ""; //获得内容
var splstr = domList.split(",");
for (var i = 1; i <= splstr.length - 1; i++) {
var s = splstr[i];
if (s.indexOf("|") != -1) { //双标签 只处理双标签
var splxx = s.split("|");
var x = parseInt(splxx[0]);
var y = parseInt(splxx[1]);
for (var j = x; j <= y; j++) {
var obj = this.htmlArr[j];
if (obj) { //对象存在
if (j == x) { //开始位置
if (type == 'get') c += obj.downHtml;
} else if (j < y) { //在双标签中间
if (type == "set") {
delete this.htmlArr[j]; //删除数组
} else {
c += obj.upHtml + obj.downHtml;
}
} else if (j == y) { //结束位置
if (type == 'get') {
c += obj.upHtml;
} else {
obj.upHtml = value; //替换内容部分
}
}
}
}
}
}
if (type == 'get') return c;
}
原创不易,若转载请注明出处
喜欢我的可以点赞、关注、收藏,如果有什么技术上的疑问,欢迎留言或私信~