Javascript 尝试使用jQuery将对象转换为字符串
我试图在字符串中搜索标记,但似乎无法使其正常工作。这是js。我们的目标是让控制台给我“这是有效的”,这是不会发生的Javascript 尝试使用jQuery将对象转换为字符串,javascript,jquery,string,Javascript,Jquery,String,我试图在字符串中搜索标记,但似乎无法使其正常工作。这是js。我们的目标是让控制台给我“这是有效的”,这是不会发生的 $(document).ready( function() { $('div').on('mousedown', function(e) { var target = e.target; console.log(target); if (target.indexOf("<b>") > 0) {
$(document).ready( function() {
$('div').on('mousedown', function(e) {
var target = e.target;
console.log(target);
if (target.indexOf("<b>") > 0) {
console.log("this works");
}
});
});
当我这样做并点击粗体标记时,我得到以下信息:
[object HTMLElement]
关于如何使其工作,您有什么想法吗?您需要所述元素的HTML:
var html = $(e.target).html();
if (text.indexOf("<b>")) //do stuff
var html=$(e.target.html();
if(text.indexOf(“”)//执行任务
要搜索html:
if ($(this).html().indexOf("<b>") > -1)
或者如果您想查看是否单击了b
:
if ($(e.target).is('b')) {
第三条线是问题发生的地方;您只需要从元素而不是元素本身获取文本: HTML
<div id="test">This text is normal <b>this text is bold</b></div>
<div id="output"></div>
此文本为正常文本此文本为粗体
JS
$('#test').on('mousedown', function(e) {
var txt = $(e.currentTarget).html();
if (txt.indexOf("<b>") > 0) {
$('#output').html("this works");
}
});
$('test')。在('mousedown',函数(e)上{
var txt=$(e.currentTarget).html();
如果(txt.indexOf(“”>0){
$('#output').html(“这很有效”);
}
});
您可以通过选中以下项来搜索标签:
if($(this.find(“b”).length>0)
详细代码如下:
$('#test').on('mousedown', function(e) {
if($(this).find("b").length > 0){
$('#output').html("this works");
}
});
工作版本显示为这只是给了我粗体标记内的文本,我需要它返回两侧带有粗体标记的文本。这适用于字母“b”,但我正在查找标记“EthanNYC,$(此)。find(“b”)实际上意味着查找标记“”。我附上jQueryAPI:这里供您参考。由于某些原因,当我单击粗体文本时,它不起作用,只单击非粗体文本。不知道为什么会发生这种情况。@EthanNYC对此表示抱歉,应该使用
e.currentTarget
而不是e.target
,这样它将从#test
读取html()
,而不是从任何嵌套元素读取。更新了小提琴和答案。
if ($(e.target).is('b')) {
<div id="test">This text is normal <b>this text is bold</b></div>
<div id="output"></div>
$('#test').on('mousedown', function(e) {
var txt = $(e.currentTarget).html();
if (txt.indexOf("<b>") > 0) {
$('#output').html("this works");
}
});
$('#test').on('mousedown', function(e) {
if($(this).find("b").length > 0){
$('#output').html("this works");
}
});