如何获得用户选择的单词的单词编号

时间:2019-05-24 07:39:06

标签: javascript jquery html

我在获取用户选择的单词的单词编号时遇到麻烦

例如

我有一个简单的段落,其中包含两个单词Hi和bob

Pool {
  _events: [Object: null prototype] {},
  _eventsCount: 0,
  _maxListeners: undefined,
  config:
   PoolConfig {
     acquireTimeout: 10000,
     connectionConfig:
      ConnectionConfig {
        host: 'localhost',
        port: 3306,
        localAddress: undefined,
        socketPath: undefined,
        user: 'root',
        password: 'password',
        database: 'mydatabasename',
        connectTimeout: 10000,
        insecureAuth: false,
        supportBigNumbers: false,
        bigNumberStrings: false,
        dateStrings: false,
        debug: undefined,
        trace: true,
        stringifyObjects: false,
        timezone: 'local',
        flags: '',
        queryFormat: undefined,
        pool: [Circular],
        ssl: false,
        multipleStatements: false,
        typeCast: true,
        maxPacketSize: 0,
        charsetNumber: 33,
        clientFlags: 455631 },
     waitForConnections: true,
     connectionLimit: 10,
     queueLimit: 0,
     database: 'eventx' },
  _acquiringConnections: [],
  _allConnections: [],
  _freeConnections: [],
  _connectionQueue: [],
  _closed: false }
pool connection : [object Object]

因此,逻辑上Hi = 1,而bob = 2。现在,假设用户选择了bob,我希望 Program 将数字2记录到控制台,现在假设用户选择了Hi,则应将数字1记录到控制台。安慰。此外,该程序还可以处理任意数量的单词。

任何帮助将不胜感激

谢谢

2 个答案:

答案 0 :(得分:1)

基本上,您必须进行预处理,每个单词先给一个数字。 然后,使每个单词成为“ span”并分配事件。

(在我的示例中,我假设您的“选择”表示“点击”并使用了jQuery)

<ng-template pTemplate="rowexpansion">
    <tr>
        <td [attr.colspan]="columns.length + 1">
            <div class="ui-g ui-fluid" style="font-size:16px;padding:20px">
                <p-table>
                ...
                </p-table>
            </div>
        </td>
    </tr>
</ng-template>
  
    var container = $("#text");
    var words = container.text().split(" ");
    var count = 1;
    
    container.html("");
    
    words.forEach(function (word) {
        var span = $("<span></span>");
        span.data("number", count++);
        span.text(word + " ");
        span.click(function () {
            console.log($(this).data("number"))
        });
        container.append(span)
    });

答案 1 :(得分:-1)

您可以将单词拆分成一个数组,然后使用indexOf获取索引:

var text = document.getElementById("text").innerText.split(' ')
var userInput = prompt()
console.log(text.indexOf(userInput) + 1)
<p id="text">Hi bob</p>

我添加了1,因为您想要一个易于阅读的版本,如果我不加注释,它将认为“ hi”是第0个字。

编辑:添加了提示。