使用jQuery使用其他元素的文本选择Class

时间:2015-10-09 07:46:28

标签: javascript jquery

如果我将var c用作某些Text

,则jQuery Select Code正常工作
var className = $('#element').text(); //return value is 'class-text';

$el = $('.' + className);// Not Working, selecting Element

但元素中的文字无效。

var className = 'class-text'; 

$el = $('.' + className);// Working, selecting Element

感谢任何使用jQuery

使用其他元素的文本选择Class的意见

3 个答案:

答案 0 :(得分:4)

使用 $.trim() 从字符串的开头和结尾删除空格。

更新:某些字符出现在字符串的开头,因此您需要将其删除,您可以使用\W选择非字字符并替换它。

var className = $.trim($('#element').text()).replace(/\W+/g,'');     
$el = $('.' + className);

答案 1 :(得分:0)

在这种情况下,您应该检查className是否是您认为的:

var className = $('#element').text(); //return value is 'class-text';
alert('[' + className +']');

$el = $('.' + className);

在你的JS小提琴中,你在选项d的第一个位置有一个奇怪的角色。 <option>?ClassD</option>

只需删除它,代码就可以了:

<option>ClassD</option>

答案 2 :(得分:0)

似乎您的选项文字在我提醒它时会有如下特殊字符:

special

使用以下代码删除这些字符。仅过滤字母数字值。

className = $('#element option:selected').text().replace(/[^a-z0-9\s]/gi, '');

DEMO - 查看第一次和第二次提醒。