【问题标题】:jQuery contains append find text string and more codejQuery 包含追加查找文本字符串和更多代码
【发布时间】:2012-11-19 16:17:48
【问题描述】:

需要一点帮助来完成这段代码;

$(document).ready(function() { 
     var username = $('div.subtitle span').text();
     var $Head = $('div.main-content #field_id4 dt span'); 
     var $body = $('div.main-content #field_id5 dt span');
     var $contBody = $('div.main-content #field_id6 dt span');
     var $borders = $('div.main-content #field_id7 dt span');
$Head.filter(':contains("Black")')
     .closest('#profile-advanced-layout')
      .prepend('<div id="blackbg">'+ username +'Profile</div>');
$body.filter(':contains("Black")')
      .closest('#profile-advanced-layout')
        .css({'background':'#000'});
$contBody.filter(':contains("Black")')
      .find('.main-content')
       .css({'background':'#000'});
$borders.filter(':contains("Black")')
     .find('main-content')
       .css({'border':'2px solid #000'});
 });

我最大的问题在这里,因为这可能只是第三次使用变量。虽然如果你查看变量$username,我想做的是在 div .subtitle 范围内搜索并获取该范围内的文本字符串,然后复制它或其他任何内容,

然后在哪里说$Head.filter,我希望它是“+username+Profile”,这样放置变量是否正确。我将如何正确找到该文本字符串?

【问题讨论】:

  • 要获取元素内的文本,您必须使用 .text() 方法,而不仅仅是选择 DOM 元素

标签: jquery string find append


【解决方案1】:

试试

$username.html(); 

$username.text(); 

在变量名中也不需要$

var username = $('div.subtitle span').html();

What is the difference between jQuery: text() and html() ?

【讨论】:

  • $ 不是必需的,但我倾向于将包含 jQuery 对象的变量命名为这样
  • 所以 var 用户名是正确的。因此,当我在 $Head.filter blah blah blah +$username.text();+ 或什么中键入 var 时
【解决方案2】:

我认为您正在尝试这样做:

.prepend('<div id="blackbg">' + $username.text() + 'Profile</div>');

或者,如果您将文本放在名为 username 的单独变量中:

.prepend('<div id="blackbg">' + username + 'Profile</div>');

【讨论】:

  • 好的,这就是我要得到的。现在我将如何以可变格式编写它? var username = .find('.subtitle span').text();然后在 head var 中我会做 +$username+?还是 + username.text() +
  • @user1760670 一旦字符串中有文本,就不能再使用.text()。这只是一个字符串。如果您使用var username = .find('.subtitle span').text();,那么您想使用+ username +。请注意,您的代码是错误的,因为您没有关闭字符串。看看我的。
  • 抱歉关闭字符串??你的意思是“代码”+用户名+“代码”?
  • @user1760670 没有;你永远不会给username分配任何东西
  • 我以为我做了 var $username = $('div.subtitle span').text();抱歉,这对我来说是新的,所以
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-28
  • 2017-02-12
  • 2011-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-05
相关资源
最近更新 更多